Docker CMD 指令与 ENTRYPOINT 指令的使用与区别
Posted 小伍
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker CMD 指令与 ENTRYPOINT 指令的使用与区别相关的知识,希望对你有一定的参考价值。
CMD 指令使用测试
cat Dockerfile
FROM centos
CMD ["ls", "-a"]
# 构建镜像
docker build -f Dockerfile -t cmd-test .
# 基于镜像运行容器
docker run cmd-test
.
..
.dockerenv
bin
dev
etc
home
lib
......
# 测试追加命令 ls -al,报错,不能追加
docker run cmd-test -l
Error response from daemon...
# 测试完整命令 ls -al,成功,并且替换了原有的CMD命令
docker run cmd-test ls -al
ENTRYPOINT 指令使用测试
cat Dockerfile
FROM centos
ENTRYPOINT ["ls", "-a"]
# 构建镜像
docker build -f Dockerfile -t entrypoint-test .
# 基于镜像运行容器
docker run entrypoint-test
.
..
.dockerenv
bin
dev
etc
home
lib
......
# 测试追加命令 ls -a -l,成功,直接拼接在了 ENTRYPOINT 命令之后
docker run entrypoint-test -l
以上是关于Docker CMD 指令与 ENTRYPOINT 指令的使用与区别的主要内容,如果未能解决你的问题,请参考以下文章
RUN vs CMD vs ENTRYPOINT - 每天5分钟玩转 Docker 容器技术(17)