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>