考虑:

docker run -it centos /bin/bash

我按Ctrl+D退出。

我想继续运行这个容器,但我发现我做不到。

唯一的方法是

docker commit `docker ps -q -l` my_image
docker run -it my_image /bin/bash

我说的对吗?有没有更好的方法?(我使用docker 0.8.0。)


当前回答

的名字

sudo docker start bob_the_container

或按Id

sudo docker start aa3f365f0f4e

这将重新启动停止的容器,使用-i附加容器的STDIN 或者,您可以将-i附加到容器会话(如果使用-i运行)

sudo docker attach bob_the_container

其他回答

这些命令适用于任何容器(不仅仅是最后退出的容器)。 这种方法即使在系统重新启动后也可以工作。 为此,这些命令将使用“容器id”。

步骤:

使用此命令列出所有docker,并注意要重启的容器的容器id: Docker ps a 使用容器id启动容器: Docker start <container_id> 附加并运行容器: Docker attach <container_id>

注意:适用于linux

如果你想在多个易于记忆的命令中完成:

列出停止的容器:

Docker ps a

复制你想要附加的容器的名称或容器id,并以以下方式开始容器:

Docker start -i <name/id> .使用实例

-i标志告诉docker附加到容器的stdin。

如果容器开始时没有连接到一个交互式shell,你需要这样做来运行一个shell:

docker start <name/id>
docker exec -it <name/id> /bin/sh

/bin/sh是通常可用于基于alpine的映像的shell。

如果您有一个命名容器,那么可以通过运行来启动它

docker container start container_name

其中container_name是容器的名称,必须在创建容器时给出。如果容器没有命名,可以将container_name替换为容器id。容器ID可以通过以下命令找到:

docker ps -a

的名字

sudo docker start bob_the_container

或按Id

sudo docker start aa3f365f0f4e

这将重新启动停止的容器,使用-i附加容器的STDIN 或者,您可以将-i附加到容器会话(如果使用-i运行)

sudo docker attach bob_the_container
docker start `docker ps -a | awk '{print $1}'`

这将启动所有处于“已退出”状态的容器