似乎这是我找不到答案的最简单的问题。
1. 我构建了一个 Docker 镜像。 2. 运行
如何只更新旧镜像而不创建新镜像呢?
我的 Docker 命令:
每次我修改Dockerfile并重新构建后,都会创建一个新的
如何才能在每次修改Dockerfile后摆脱这个中间的
1. 我构建了一个 Docker 镜像。 2. 运行
docker images
显示它已存在。
3. 然后我在 Dockerfile 中添加了一行新代码。
4. 接着我重新构建了镜像。
5. 旧镜像仍然在 docker images
中,并且现在有一个新的镜像。如何只更新旧镜像而不创建新镜像呢?
我的 Docker 命令:
docker build -t nick_app . --force-rm --no-cache
(注意:我刚才把那些 --force-rm 命令和 --no-cache 命令扔掉了,因为看起来它们会起作用。)
之前:
Dockerfile:FROM ruby:2.3.3
RUN apt-get update -qq && apt-get install -y
CMD ["echo", "Sup"]
docker镜像命令:
REPOSITORY TAG IMAGE ID CREATED SIZE
nick_app latest 421662154c3f 9 minutes ago 746.9 MB
ruby 2.3.3 d00ebde6a601 2 days ago 730.1 MB
hello-world latest c54a2cc56cbb 4 months ago 1.848 kB
之后: Dockerfile:
FROM ruby:2.3.3
RUN apt-get update -qq && apt-get install -y \
build-essential
CMD ["echo", "Sup"]
docker镜像命令:
REPOSITORY TAG IMAGE ID CREATED SIZE
nick_app latest bcf9b3667202 3 seconds ago 746.9 MB
<none> <none> 421662154c3f 10 minutes ago 746.9 MB
ruby 2.3.3 d00ebde6a601 2 days ago 730.1 MB
hello-world latest c54a2cc56cbb 4 months ago 1.848 kB
每次我修改Dockerfile并重新构建后,都会创建一个新的
none
镜像。它们是累积的,所以每次我进行更改和重建时,都会得到另一个none
镜像。如何才能在每次修改Dockerfile后摆脱这个中间的
none
呢?
docker build
命令(使用答案中显示的命令)。 - Arran