首页
学习
活动
专区
圈层
工具
发布

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

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

如何制作一个base Image

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

  • 通过pull的方式
代码语言:javascript
复制
docker pull hello-world
docker image ls
docker run hello-world
  • 通过build的方式 1.创建文件
代码语言:javascript
复制
mkdir hello-world
 cd hello-world/
 vim hello.c

2.编辑c文件

代码语言:javascript
复制
#include<stdio.h>
int main()
{
        printf("hello docker  微信公众号:编程坑太多\n");
}

3.编译程序gcc

代码语言:javascript
复制
sudo yum install -y gcc
sudo yum install -y glibc-static
 gcc -static hello.c -o hello

4.创建编辑Dockerfile

代码语言:javascript
复制
vim Dockfile
代码语言:javascript
复制
FROM scratch
ADD hello /
CMD ["/hello"]
代码语言:javascript
复制
docker build -t liming/hello .
代码语言:javascript
复制
#查看分层layer
   docker history a4cb86cc8d6b

5.运行Image

代码语言:javascript
复制
docker run liming/hello
docker container ls -a

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

下一篇
举报
领券