7°

构建一个自己的Base Image 镜像

mkdir hello-world 创建一个hello-world目录(名字自定义)

vi hello.c 在hello-world目录下创建一个c语言文件"hello.c"

history | grep yum 查看yum的历史

sudo yum install gcc 安装gcc

sudo yum install glibc-static安装glibc-static

gcc -static hello.c -o hello 当前目录会多一个hello hello 是一个可执行文件,使用./hello 命令直接执行这个文件会打印出来 hello docker

vi Dockerfile 在当前目录创建一个Dockerfile的文件

在 Dockerfile 文件中输入:

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

命令:docker build -t vincent163/hello-world .指定一个Tag,加一个点代表在当前目录中找 Dockerfile

然后输入命令:docker image ls 可以看到刚才创建的 image ->  vincent163/hello-world

ls -lh 查看docker image的分层

docker history 30c5480f4e5d 查看docker image 的分层 30c5480f4e5d是image的ID 返回多少行就代表多少层

docker run vincent163/hello-world 执行这个cuntener 会打印出一个 hello docker

以上是我们用 C语言写的一个小程序,我们把它打包成一个docker的image,这个image 里面就存一个可执行文件

运行的时候共享了宿主机centos它的linux Container,在这个Container 之上执行了hello-world,这个程序虽然非常的小,但是也能反应出来docker的技术架构

后面可能会接触更多复杂的image,比如说nginx,mysql ,他们的原理和上面的Base image hello-world 原理是一样的

 

 

 

 

 

 

本文由【王怀楼】发布于开源中国,原文链接:https://my.oschina.net/u/3843989/blog/3073352

全部评论: 0

    我有话说: