如何运行现有已停止的容器并进入bash?

时间:2017-07-27 17:05:21

标签: docker containers

我是Docker的新手,我知道为了运行容器我可以使用以下命令:

docker run -it --name custom-container-name --hostname custom-hostname image-name bash

上一个命令创建一个名为custom-container-name的容器,其主机名为custom-hostname,并使用图像image-name。我知道-it标志可以让我访问bash。 (如果我错了,请纠正我)

现在,我已经停止了这个容器,但我想再次使用它,所以我应该使用什么命令再次使用bash 打开这个容器,就像我运行{{1第一次创建时命令。

1 个答案:

答案 0 :(得分:9)

我认为您遇到的问题是您提供的命令立即退出,并且容器继续运行它需要一个不会退出的命令。我发现保持容器运行的一种方法是使用-d选项,如下所示:

docker run -dt --name custom-container-name --hostname custom-hostname image-name

应该开始在后台运行它作为守护进程。然后你可以用容器打开一个shell:

docker exec -it custom-container-name /bin/bash

如果图像的默认用户是root(或未设置),则应在容器中为您提供root shell。

您可以使用docker inspect查看图像的详细信息,以查看默认命令和用户的内容:

docker inspect image-name | less

此外,如果您的容器存在,并且其状态为"退出",您可以启动该容器,然后使用docker exec,如下所示:

docker start custom-container-name
docker exec -it custom-container-name /bin/bash