更改 Dockerfile 时更新容器的更快方法

更改 Dockerfile 时更新容器的更快方法

我是 Docker 新手,我用来从 Dockerfile 创建和执行容器的过程如下:

  1. docker build -t (IMAGE_NAME) .
  2. docker docker run -itd --name (CONTAINER_NAME) (IMAGE_NAME)
  3. docker exec -it (CONTAINER_NAME) bash

但是,如果我想更新我的 Dockerfile 并再次运行容器,我必须执行以下操作:

  1. docker ps获取我的容器的 ID
  2. docker container stop (ID)
  3. docker rm (ID)

然后我必须重复前三个步骤。有没有更快的方法可以做到这一点,或者每次更新 Dockerfile 时都必须重新运行这些步骤?这非常繁琐

答案1

如果时间紧迫,请启用构建工具,构建速度更快。

export DOCKER_BUILDKIT=1

您已经知道在所有 3 个命令中使用名称,您可以将所有 3 个命令组合起来

docker rm NAME; docker build -t NAME /absolutepath && docker docker run -itd --name NAME && docker exec -it NAME bash

&&在执行命令中使用(当返回代码为 0=无错误时运行下一个命令),并;在初始删除上一个容器时使用(继续执行下一个命令,即使出现错误,例如“未找到容器”)。因为如果您忘记已经删除了容器,这不会停止链。正如您所见,我鼓励您使用绝对路径,这样docker build它在任何目录中都可以工作,如果您碰巧稍微移动一下。

相关内容