考虑:

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。)


当前回答

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

步骤:

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

注意:适用于linux

其他回答

遵循以下步骤:

运行以下命令查看所有容器服务都在运行和停止。选项-a用于查看容器是否也停止 Docker ps a 然后通过container_id或容器标记名启动docker容器 docker start <CONTAINER_ID>或<NAMES> 从上面的图片,容器id 4 b161b302337 所以要运行的命令是 Docker启动4b161b302337 可以验证容器是否正在运行 码头工人ps

使用——privileged标志运行容器。

docker run -it --privileged ...

对于那些在2021年及以后来到这里的人来说,下面的命令将完成接受的答案将在一行中完成的工作。

$ docker start -ai $(docker ps -q -l)

Use:

docker start $(docker ps -a -q --filter "status=exited")

这将启动处于退出状态的所有容器。

docker exec -it <container-id> /bin/bash

这将连接到特定的容器。

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

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