考虑:
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。)
当前回答
对于那些在2021年及以后来到这里的人来说,下面的命令将完成接受的答案将在一行中完成的工作。
$ docker start -ai $(docker ps -q -l)
其他回答
如果你想继续使用一个已知名称的Docker容器:
docker start `docker ps -a -q --filter "name=elas"`
在我的例子中,当我启动docker容器时,它干净地退出了,所以上面的方法都不起作用。我需要的是一种改变要运行的命令的方法。
使用docker-compose,我可以通过运行以下命令来更改命令:
docker-compose run <container name in docker-compose.yml> bash
e.g.
docker-compose run app bash
注意!这实际上是重新创建容器,因此它不会在前一个实例上运行。
遵循以下步骤:
运行以下命令查看所有容器服务都在运行和停止。选项-a用于查看容器是否也停止 Docker ps a 然后通过container_id或容器标记名启动docker容器 docker start <CONTAINER_ID>或<NAMES> 从上面的图片,容器id 4 b161b302337 所以要运行的命令是 Docker启动4b161b302337 可以验证容器是否正在运行 码头工人ps
对于那些在2021年及以后来到这里的人来说,下面的命令将完成接受的答案将在一行中完成的工作。
$ docker start -ai $(docker ps -q -l)
docker start `docker ps -a | awk '{print $1}'`
这将启动所有处于“已退出”状态的容器