如何在运行Docker容器时/之后打开shell而不覆盖现有的CMD?

时间:2016-11-06 22:19:29

标签: docker dockerfile

所以我的Dockerfile中的最后一行是:

CMD Django-admin startproject testproject

我是Docker的新手,我刚刚了解到我只能在Dockerfile中使用CMD一次,并且在以下示例中运行/ bin / shell会覆盖CMD:

docker run -it <containerid> /bin/bash

我的问题是如何在不覆盖Django-admin startproject CMD的情况下打开shell?我已经研究过docker attach,但这似乎没有打开shell。我觉得我在这里遗漏了一些明显的东西。我只想运行我的容器并进入shell并四处寻找并确保我的Django项目实际上正在创建。

1 个答案:

答案 0 :(得分:4)

您只需在后台运行容器而不覆盖命令:

docker run -d --name container_name <image_name>

接下来,您可以使用新会话附加到正在运行的容器:

docker exec -it container_name bash