考虑:
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容器时,它干净地退出了,所以上面的方法都不起作用。我需要的是一种改变要运行的命令的方法。
使用docker-compose,我可以通过运行以下命令来更改命令:
docker-compose run <container name in docker-compose.yml> bash
e.g.
docker-compose run app bash
注意!这实际上是重新创建容器,因此它不会在前一个实例上运行。
其他回答
docker start `docker ps -a | awk '{print $1}'`
这将启动所有处于“已退出”状态的容器
在我的例子中,当我启动docker容器时,它干净地退出了,所以上面的方法都不起作用。我需要的是一种改变要运行的命令的方法。
使用docker-compose,我可以通过运行以下命令来更改命令:
docker-compose run <container name in docker-compose.yml> bash
e.g.
docker-compose run app bash
注意!这实际上是重新创建容器,因此它不会在前一个实例上运行。
如果你只想启动一个状态为“Exited”的容器,只需输入:
sudo docker start container_name
没有sudo。查看更多
docker start container_name
如果容器名称不起作用,则将名称替换为容器id
使用——privileged标志运行容器。
docker run -it --privileged ...
的名字
sudo docker start bob_the_container
或按Id
sudo docker start aa3f365f0f4e
这将重新启动停止的容器,使用-i附加容器的STDIN 或者,您可以将-i附加到容器会话(如果使用-i运行)
sudo docker attach bob_the_container