docker run container,如何重新运行

时间:2015-11-10 09:35:00

标签: linux docker virtualization lxc

我用以下内容构建容器:

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

并确认一切正常。

下一步是什么?

我猜,我应该运行docker ps,从那里获取容器ID,并运行具有相同首选项(环境,端口映射,卷映射)的容器我应该运行:

docker start -a container_id
我是对的吗?

如果重建图像,如果更改Dockerfile.xyz并重建dave / xyz,那么带有container_id的容器会如何获得 自动更新,或者我应该重复docker run -it步骤?

1 个答案:

答案 0 :(得分:3)

docker build [...]创建图片。您可以使用docker images查看图片。您可以使用--tag=[...]选项为该图像指定一个特定名称:

    docker build --tag="superuser/bestimage:latest" .

docker run [...] <imageId>获取该图片并启动容器。您可以看到包含docker ps的活动容器(全部包含docker ps -a)。如果您使用上面的代码,则可能会使用docker run -it superuser/bestimage:latest

重建图像时,会创建具有新ID的新图像。您可以通过docker images看到这一点。

  

容器与container_id自动更新

即可。要更新容器,您必须先使用docker kill <id>删除容器,然后使用docker run -it <newID>启动新容器。