在实践中,我开始做一个容器:
docker run a8asd8f9asdf0
如果是这样,怎么办:
docker start
做?
在手册中说
启动一个或多个已停止的容器
execute
吗?
在实践中,我开始做一个容器:
docker run a8asd8f9asdf0
如果是这样,怎么办:
docker start
做?
在手册中说
启动一个或多个已停止的容器
execute
吗?
Answers:
这是一个非常重要的问题,答案很简单,但很基本:
docker run IMAGE_ID
而不是 docker run CONTAINER_ID
docker stop CONTAINER_ID
可以使用命令重新启动同一容器docker start CONTAINER_ID
,并且数据和设置将相同。&
在run
命令行末尾吗?我需要将其作为出色的服务(24小时)
run
运行图像start
启动一个容器。该docker run
文档确实提到:
该
docker run
命令首先在指定图像上创建可写容器层,然后使用指定命令启动它。也就是说,docker run等效于
/containers/create
then 的API/containers/(id)/start
。
-i
到docker run
一个互动的过程?我的意思是,docker run需要一个图像来运行容器。
daniele3004的答案已经很不错了。
只是一个快速和肮脏的公式我这样的人谁混淆了run
,并start
时不时:
docker run [...]
= docker pull [...]
+docker start [...]
"...docker run is equivalent to the API /containers/create then /containers/(id)/start.
(来源:docs.docker.com/engine/reference/commandline/run)
run
命令从映像创建一个容器,然后在该容器上启动根进程。与运行它run --rm
标志将节省您以后在删除无用死容器的麻烦,可以让你忽略的存在docker start
和docker remove
干脆。
run
命令执行一些不同的操作:
docker run --name dname image_name bash -c "whoami"
docker ps
bash -c "whoami"
。如果一个人跑docker run --name dname image_name
没有命令执行容器将立即进入停止状态。docker remove
以相同名称启动容器。自动停止后如何取出容器?--rm
向run
命令添加标志:
docker run --rm --name dname image_name bash -c "whoami"
如何在单个容器中执行多个命令?通过防止该根进程死亡。这可以通过在--detached
flag开头运行一些无用的命令,然后使用“ execute”运行实际命令来完成:
docker run --rm -d --name dname image_name tail -f /dev/null
docker exec dname bash -c "whoami"
docker exec dname bash -c "echo 'Nnice'"
那我们为什么需要docker stop
呢?为了停止我们在上一片段中使用endless命令启动的挥之不去的容器tail -f /dev/null
。