考虑:
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。)
考虑:
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。)
当前回答
docker start `docker ps -a | awk '{print $1}'`
这将启动所有处于“已退出”状态的容器
其他回答
Use:
docker start $(docker ps -a -q --filter "status=exited")
这将启动处于退出状态的所有容器。
docker exec -it <container-id> /bin/bash
这将连接到特定的容器。
这些命令适用于任何容器(不仅仅是最后退出的容器)。 这种方法即使在系统重新启动后也可以工作。 为此,这些命令将使用“容器id”。
步骤:
使用此命令列出所有docker,并注意要重启的容器的容器id: Docker ps a 使用容器id启动容器: Docker start <container_id> 附加并运行容器: Docker attach <container_id>
注意:适用于linux
对于那些在2021年及以后来到这里的人来说,下面的命令将完成接受的答案将在一行中完成的工作。
$ docker start -ai $(docker ps -q -l)
如果你想继续使用一个已知名称的Docker容器:
docker start `docker ps -a -q --filter "name=elas"`
docker start `docker ps -a | awk '{print $1}'`
这将启动所有处于“已退出”状态的容器