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
相關文章
相關標籤/搜索