内容摘要
- dockerfile 常用指令
- RUN/CMD/ENTRYPOINT区别
Dockerfile 常用指令
前面初步讲解了Dockerfile,这节详细介绍Dockerfile用到的指令和语法。
下面来看一个较为完整的Dockerfile,内容如下:
# dockerfile hahaFROM centosMAINTAINER docker-test@example.comWORKDIR /mydirRUN touch mytextCOPY test .ADD busybox-1_29_0.tar.gz .ENV VERSION "1.0.2"CMD echo "I am cmd"CMD echo $VERSIONENTRYPOINT sleep 1000000
先不解释上面命令的意义,运行该文件构建镜像。
在构建镜像前,先在根目录下创建 test 文件夹,在其下面创建Dockerfile,以及准备构建使用的test文件,使用Xftp将busybox的压缩包上传到test目录下。
具体操作见下面操作截图:
![11c05873be1733964a398d8ab222319a.png](https://i-blog.csdnimg.cn/blog_migrate/65323045f6b40d35c8d3bdb2c28334f6.jpeg)
说明:busybox文件的压缩包自行在github上下载。
构建镜像,命令为:
docker build -t centos-with-busybox .
![80288a7c0541d954724de1f033d586b0.png](https://i-blog.csdnimg.cn/blog_migrate/42704d8efd64150ab714b7ea7857d955.jpeg)
从上面 Step 信息可以看出,构建步骤是按照我们在Dockerfile中的命令先后顺序执行的,最后生成的镜像 SIZE 比基础镜像要多 9M。