linux - docker run 容器,如何重新运行

标签 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 步骤?

最佳答案

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看到.

does container with container_id get update automatically

。为了更新您的容器,您必须先使用 docker kill <id> 删除容器然后用 docker run -it <newID> 开始一个新的.

关于linux - docker run 容器,如何重新运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33626846/

相关文章:

c++ - 按下 QDialog Cancel 或 OK 时如何调用函数?

c++ - MySql connector-c++ 不会在 QtCreator 中链接,但在树莓派 pi3 上本地工作正常

Linux内核编程: can't include header file

virtualization - 在哪里可以找到支持 EPT 脏/访问位的英特尔处理器

ubuntu - libvirt/virsh 无法销毁虚拟机

linux - 创建一个使用 cat 并具有 3 个参数的简单 bash 脚本

php - Docker + nginx + PHP - nginx不指向根目录?

docker - 如何将主机名添加到同一 docker 网络上的容器中?

docker 容器内的 Java 堆

intel - Xen 如何处理用户空间代码中的不可虚拟化指令?