docker运行容器,如何重新运行
我build造容器:
docker build -f Dockerfile.xyz -t dave/xyz .
之后,我运行docker:
docker run -it \ --env='LDAP_USER=uid=bot_for_git,ou=bots,dc=company,dc=org' \ --env='LDAP_PASS=' --volume=/srv/docker/xyz/data1:/data \ -p 8010:8010 -p 9989:9989 dave/xyz
并validation一切正常。
下一步是什么?
我的猜测是,我应该运行docker ps
,从那里取容器id,并运行具有相同首选项的容器(环境,端口映射,卷映射)我应该运行:
docker start -a container_id
我对吗?
那么重build图像怎么样,如果更改Dockerfile.xyz
和重builddave / xyz,容器与container_id
自动获取更新,或者我应该重复docker run -it
步骤?
docker build [...]
创build一个图像 。 您可以使用docker images
查看您的docker images
。 您可以使用--tag=[...]
选项为该图像指定一个特定的名称:
docker build --tag="superuser/bestimage:latest" .
docker run [...] <imageId>
采取该图像,并启动一个容器 。 你可以看到docker ps
活动容器(全部使用docker ps -a
)。 如果你使用上面的标签,可以使用docker run -it superuser/bestimage:latest
。
重build图像时,会创build一个新的图像。 您可以通过docker images
看到。
容器与container_id自动更新
没有 。 为了更新你的容器,你必须首先使用docker kill <id>
删除容器,然后用docker run -it <newID>
启动一个新docker run -it <newID>
。