考虑:
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。)
答案 0 :(得分:221)
您可以在退出后重新启动现有容器,并且您的更改仍然存在。
docker start `docker ps -q -l` # restart it in the background
docker attach `docker ps -q -l` # reattach the terminal & stdin
答案 1 :(得分:114)
docker start -a -i `docker ps -q -l`
说明:
docker start
启动容器(需要名称或ID)
-a
附在容器上
-i
互动模式
docker ps
列出容器
-q
仅列出容器ID
-l
仅列出最后创建的容器
答案 2 :(得分:39)
使用:
docker start $(docker ps -a -q --filter "status=exited")
这将启动所有处于退出状态的容器。
docker exec -it <container-id> /bin/bash
这将连接到特定容器。
答案 3 :(得分:13)
如果您想继续使用一个已知名称的一个Docker容器:
docker start `docker ps -a -q --filter "name=elas"`
答案 4 :(得分:11)
如果要使用多个易于记忆的命令进行操作:
docker ps -a
docker start -i <name/id>
-i
标志告诉docker将其附加到容器的标准输入。
如果容器不是以要连接的交互式外壳启动的,则需要执行此操作以运行外壳:
docker start <name/id>
docker exec -it <name/id> /bin/sh
/bin/sh
是通常用于基于高山的图像的外壳。
答案 5 :(得分:8)
如果您有一个命名容器,则可以通过运行
启动它docker container start container_name
其中 container_name 是创建容器时必须提供的容器的名称。如果容器未命名,您可以使用容器ID替换container_name
。可以通过运行以下命令找到容器ID:
docker ps -a
答案 6 :(得分:6)
请按照以下步骤操作:
答案 7 :(得分:1)
按名称
sudo docker start bob_the_container
或通过ID
sudo docker start aa3f365f0f4e
这将重新启动已停止的容器,使用-i附加容器的STDIN 或代替-i,您可以附加到容器会话(如果使用-it运行)
sudo docker attach bob_the_container
答案 8 :(得分:0)
docker start `docker ps -a | awk '{print $1}'`
这将启动所有处于“已退出”状态的容器
答案 9 :(得分:0)
这些命令将适用于任何容器(不仅是最后退出的容器)。 即使您的系统重新启动后,这种方式仍然可以使用。 为此,这些命令将使用“容器ID”。
步骤:
使用此命令列出所有docker,并记下要重新启动的容器的容器ID:
docker ps -a
使用容器ID启动容器:
docker start <container_id>
附加并运行容器:
docker attach <container_id>
注意:我已经在linux系统上尝试过
希望这对某人有帮助!
答案 10 :(得分:0)
使用 --privileged 标志运行您的容器。
docker run -it --privileged ...
答案 11 :(得分:0)
对于那些在 2021 年及以后来到这里的人,以下命令将执行已接受的答案将在一行中执行的操作。
<html>
<head>
<meta charset="UTF-8"/>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
type="text/css" media="all"/>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Amatic+SC%3A400%2C700%7CLato%3A400%2C700%2C400italic%2C700italic&ver=4.9.8"
type="text/css" media="screen"/>
<link rel="stylesheet" href="zorbet.css" type="text/css" media="screen"/>
<link rel="stylesheet" href="print.css" type="text/css" media="print"/>
<title>Pass to comann form!</title>
</head>
<body>
<h2 style="text-align: center; color: orange;">Pass to comann: </h2>
<table boder="0" width="1000">
<form method = "GET" action ="totalclient.php">
<tr><td>
Full Name : <input type = "text" name="full_name"></br></td></tr>
<tr><td>
Flavour : <input type="text" name="flavour"></br></td></tr>
<tr><td>
Number of cups(qty) : <input type="Number" name = "num_of_cups"></br></td></tr>
<tr><td>
Address <input type="text" name = "h_add"></br></td></tr>
<tr><td>
Number : <input type = "Number" name = "c_num"></br></td></tr>
<tr><td>
<input type="submit" name="submit" value="add"></br></td></tr>
<tr><td>
<a href="insertxml.php">
<input type="button" style="color: red;" value="Delete to comman"></button></a></td></tr>
</form>
</table>
</body>
</html>
答案 12 :(得分:0)
如果您只想启动一个状态为“已退出”的容器,只需输入:
sudo docker start container_name
没有sudo。 See more
docker start container_name
如果容器名称不起作用,请将名称替换为容器 id