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
相关文章
相关标签/搜索