docker dockerFile
dockerFile
利用 Dockerfile,使创建镜像的过程全部自动化。
Dockerfile
Dockerfile 是一个描述如何创建 Docker 镜像所需步骤的文本文件。
1 | $ mkdir cowsay |
编辑Dockerfile1
2FROM debian:wheezy
RUN apt-get update && apt-get install -y cowsay fortune
执行Dockerfile1
2
3$ ls
Dockerfile
$ docker build -t test/cowsay-dockerfile .
最后面那个点代表当前目录下执行docker build
创建成功,执行docker1
$ docker run test/cowsay-dockerfile /usr/games/cowsay "Moo"
通过利用 Dockerfile 的 ENTRYPOINT 指 令,
我 们 可 以 让 用 户 更 易 于 使 用 这 个 镜 像。
ENTRYPOINT 指令让我们指定一个可执行文件,同时还能处理传给 docker run 的参数。
在 Dockerfile 的最后加上下面这一行:
1 | ENTRYPOINT ["/usr/games/cowsay"] |
现在再次生成新镜像,以后使用这个新镜像时再也不需要指定 cowsay 命令了:
1 | $ docker build -t test/cowsay-dockerfile . |
我们可以把 ENTRYPOINT 指定为一个我们自己的脚本
创建一个新文件 entrypoint.sh1
2
3
4
5
6#!/bin/bash
if [ $# -eq 0 ]; then
/usr/games/fortune | /usr/games/cowsay
else
/usr/games/cowsay "$@"
fi
用 chmod +x entrypoint.sh 把文件设为可执行
修改DockerFile1
2
3
4FROM debian
RUN apt-get update && apt-get install -y cowsay fortune
COPY entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]
测试执行
1
2
3 docker build -t test/cowsay-dockerfile .
docker run test/cowsay-dockerfile
docker run test/cowsay-dockerfile Hello Moo
原文作者: 西瓜哥
原文链接: http://yoursite.com/2019/01/16/docker-dockerFile/
版权声明: 转载请注明出处(必须保留原文作者署名原文链接)