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 指令的使用与区别的主要内容,如果未能解决你的问题,请参考以下文章

docker中entrypoint 和 CMD的执行总结

docker容器中的EntryPoint和CMD命令区别

RUN vs CMD vs ENTRYPOINT - 每天5分钟玩转 Docker 容器技术(17)

Dockerfile 中的 CMD 与 ENTRYPOINT

docker-dockerfile

docker安装镜像