一般在手写dockerfile 的时候 ,第一句都是form 一个base image
今天来动手打一个很简单的base iamge 看一下
1.统一环境:
docker 版本
docker version
Client:
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:48:22 2018
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:19:08 2018
OS/Arch: linux/amd64
Experimental: false
操作系统:centos
已经安装好
gcc
glibc-static
2.创建一个文件hello.c,非常简单的hello world,代码如下:
#include<stdio.h>
int main()
{
printf("hello world\n");
}
3.编译源代码
gcc -static hello.c -o hello
生成hello 可执行文件
4.手写dockerfile
from scratch
add hello /
CMD ["/hello"]
5.打镜像
docker build -t mydocker .
看下控制台的输出
这个时候输入 docker images
可以看到 镜像的大小只有 857 k 还是非常的小的
运行看一下
docker run mydocker
运行成功!