我用以下内容构建容器:
docker build -f Dockerfile.xyz -t dave/xyz .
之后我用:
运行dockerdocker 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
步骤?
答案 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>
启动新容器。