如何运行一个已经停止的容器并进入bash?

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

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

前面的命令创build一个名为custom-container-name其中hostname是custom-hostname ,它使用图像image-name 。 我知道-it标志让我可以访问bash 。 (如果我错了,请纠正我)

现在,我已经停止了这个容器,但是我想再次使用它,那么我应该使用什么命令来再次打开这个容器 ,就像我第一次运行docker run ...命令一样。

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

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

这应该启动它在后台运行的守护进程。 然后你可以在容器中打开一个shell:

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

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

您可以使用docker inspect来查看映像的详细信息,以查看默认命令和用户是什么:

 docker inspect image-name | less 

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

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