『中级篇』手动建立一个base Image(14)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了『中级篇』手动建立一个base Image(14)相关的知识,希望对你有一定的参考价值。

这篇文章主要介绍了Docker Base Image创建具体实现的相关资料,这里提供了详细的具体步骤,需要的朋友可以参考下github:https://github.com/limingios/docker.git

如何制作一个base Image

base Image 之前讲过2种方式一种是通过pull docker官网获得,另一种是通过build的方式来获得。自己制作肯定是通过base Image的方式。

  • 通过pull的方式
    docker pull hello-world
    docker image ls
    docker run hello-world

技术分享图片

技术分享图片

  • 通过build的方式
    1.创建文件
    mkdir hello-world
    cd hello-world/
    vim hello.c

    技术分享图片

2.编辑c文件

#include<stdio.h>
int main()
{
        printf("hello docker  微信公众号:编程坑太多
");
}

技术分享图片

3.编译程序gcc

sudo yum install -y gcc
sudo yum install -y glibc-static
 gcc -static hello.c -o hello

技术分享图片

技术分享图片

4.创建编辑Dockerfile

vim Dockfile

技术分享图片

FROM scratch
ADD hello /
CMD ["/hello"]                    

技术分享图片

  docker build -t liming/hello .           

技术分享图片

技术分享图片

#查看分层layer
   docker history a4cb86cc8d6b     

技术分享图片

5.运行Image

docker run liming/hello
docker container ls -a

技术分享图片
技术分享图片

  • 个人主页:idig8.com

PS:hello.c 因为是c语言写的,我们把它打成一个Image,Image里面其实就是一个可以执行的文件,它其实依赖宿主机kernel,它虽然比较小,但是也能反映docker的架构,后面我们会使用mysqlnginx,tomcat其实他们的原理跟今天做的baseImage 里面的hello 程序是一样的。

往期精彩
  1. docker导学(一)
  2. 容器的技术概述(二)
  3. docker的魅力初体验-5分钟安装wordpress不走弯路(三)
  4. docker官网介绍(四)
  5. 如何在mac上安装docker(五)
  6. 如何在window上安装docker(六)
  7. 如何在mac上通过vagrant安装虚拟机(七)
    1. 如何在window上通过vagrant安装虚拟机(八)
    2. docker-Machine的本地使用(九)
    3. docker-Machine的本地使用(十)
    4. 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
    5. docker架构和底层技术(12)
    6. docker Image概述(13)

技术分享图片

以上是关于『中级篇』手动建立一个base Image(14)的主要内容,如果未能解决你的问题,请参考以下文章

selenium学习中级篇 -20封装BasePage基础类

selenium学习中级篇 -20封装BasePage基础类

[Unity] C#中级编程 - 06 - 隐藏/虚拟/抽象/覆写/密封

连接两个 base64 URL 字符串(图片)

Flutter Image 对象到 ImageProvider

基于CNN的图像修复(CNN-based Image Inpainting)