我使用以下命令从映像启动一个Docker容器:
$ docker run -d myimage /bin/bash -c "mycommand"
当"mycommand"完成时,容器被停止(我想它被停止了),但它没有被删除,因为我可以用下面的命令看到它:
"mycommand"
$ docker ps -a
有没有办法用同样的参数restart这个容器并保留mycommand生成的数据呢?
restart
mycommand
3okqufwl1#
是的,当初始命令完成其执行时,容器停止。可以使用以下命令启动已停止的容器:docker start container_name如果要查看命令的输出,则应添加-ai选项:docker start -ai container_namePS.有一个docker restart container_name,但那是用来重新启动一个正在运行的容器的-我相信那不是你的情况。
docker start container_name
-ai
docker start -ai container_name
docker restart container_name
u3r8eeie2#
首先,$ docker ps -a显示了所有容器(正在运行的容器和已停止的容器),这就是为什么您没有看到已停止的容器被列出的原因。其次,你可以很容易地启动一个停止了运行的容器:
$ docker start container_name
启动容器后,可以通过以下方式运行命令:
$ docker exec -it container_name bash -c "mycommand"
你在容器中创建的内容只要存在就会一直保留在容器中。如果你想在容器被移除时也保留数据,你可以使用volume。
ycl3bljg3#
应该是
$ docker restart container_id # OR $ docker restart container_name
dvtswwa34#
从上图中,我们可以看到一个容器处于启动状态,另一个容器的状态为“已退出”。当一个容器退出时,我们仍然可以启动它备份,因为容器停止并不意味着它就像死了一样,或者不能再使用,我们可以很容易地停止它,然后在将来的某个时候再次启动它。要启动一个容器备份,我们可以获取它的ID,然后执行docker start并粘贴ID end。
sudo Docker启动容器标识
上图中已退出容器的命令将为。
须道码头启动-a bba 606 a95392
输出:
**顺便说一句:**在重新启动容器时,我们不能替换默认命令,一旦您使用为容器设置的默认命令启动,例如,如果我们启动容器覆盖默认命令,让我们看看会发生什么:
Docker认为我们试图同时启动和连接多个容器。
因此,当我们启动一个容器并让它退出时,我们可以再次启动它,这将重新发出首次创建容器时使用的默认命令。这是Docker容器生命周期的一部分。
p5cysglq5#
不幸的是,如果您重新启动虚拟机/系统并显示
mysql-tls:5.7 "docker-entrypoint.s…" 18 hours ago Exited (255) 44 seconds ago
答:启动容器
Docker启动mysql
或
Docker启动您的容器名称
5条答案
按热度按时间3okqufwl1#
是的,当初始命令完成其执行时,容器停止。
可以使用以下命令启动已停止的容器:
docker start container_name
如果要查看命令的输出,则应添加
-ai
选项:docker start -ai container_name
PS.有一个
docker restart container_name
,但那是用来重新启动一个正在运行的容器的-我相信那不是你的情况。u3r8eeie2#
首先,
$ docker ps -a
显示了所有容器(正在运行的容器和已停止的容器),这就是为什么您没有看到已停止的容器被列出的原因。其次,你可以很容易地启动一个停止了运行的容器:
启动容器后,可以通过以下方式运行命令:
你在容器中创建的内容只要存在就会一直保留在容器中。如果你想在容器被移除时也保留数据,你可以使用volume。
ycl3bljg3#
应该是
dvtswwa34#
从上图中,我们可以看到一个容器处于启动状态,另一个容器的状态为“已退出”。
当一个容器退出时,我们仍然可以启动它备份,因为容器停止并不意味着它就像死了一样,或者不能再使用,我们可以很容易地停止它,然后在将来的某个时候再次启动它。要启动一个容器备份,我们可以获取它的ID,然后执行docker start并粘贴ID end。
sudo Docker启动容器标识
上图中已退出容器的命令将为。
须道码头启动-a bba 606 a95392
输出:
**顺便说一句:**在重新启动容器时,我们不能替换默认命令,一旦您使用为容器设置的默认命令启动,例如,如果我们启动容器覆盖默认命令,让我们看看会发生什么:
Docker认为我们试图同时启动和连接多个容器。
因此,当我们启动一个容器并让它退出时,我们可以再次启动它,这将重新发出首次创建容器时使用的默认命令。这是Docker容器生命周期的一部分。
p5cysglq5#
不幸的是,如果您重新启动虚拟机/系统并显示
答:
启动容器
Docker启动mysql
或
Docker启动您的容器名称