如何构建一个自己的Base Image 镜像

如何构建一个自己的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 原理是一样的

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。