gpt4 book ai didi

docker - 将 `/bin/bash`命令附加到 `docker run -it IMAGE ID`后,为什么不执行Dockerfile中的命令?

转载 作者:行者123 更新时间:2023-12-02 20:33:33 26 4
gpt4 key购买 nike

我刚开始使用Docker。我有这个Dockerfile:

FROM jonathonf/manjaro 

CMD ["pacman", "-S", "--noconfirm", "git"]

当我用
sudo docker build -t uname/description:tag  .

然后用
sudo docker run IMAGE_ID 

,其中 IMAGE_ID是我从 sudo docker images命令获取的ID,运行Dockerfile CMD ["pacman", "-S", "--noconfirm", "git"]中的命令,安装了git,创建了一个容器(我可以提交)。

如果我运行图像
sudo docker run IMAGE_ID /bin/bash

Dockerfile中的 CMD未执行。

我希望它运行来自Dockerfile的命令,使 git在容器中可用,并让我在Shell中进一步工作。

最佳答案

这里有几件事:

  • 如果要始终安装git,为什么要以CMD的身份运行它,然后以新镜像的方式手动提交,而不是仅在Dockerfile RUN指令中运行?
  • 放在docker run...之后的任何内容都将作为CMD运行并覆盖它。如果您不想覆盖它,则应将其放置为ENTRYPOINT。但实际上您应该执行1.
  • 关于docker - 将 `/bin/bash`命令附加到 `docker run -it IMAGE ID`后,为什么不执行Dockerfile中的命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57340527/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com