Multiple images, one Dockerfile

2020-06-03 04:20发布

How to create two images in one Dockerfile, they only copy different files.

Shouldn't this produce two images img1 & img2, instead it produces two unnamed images d00a6fc336b3 & a88fbba7eede

Dockerfile:

FROM alpine as img1
COPY file1.txt .

FROM alpine as img2
COPY file2.txt .

Instead this is the result of docker build .

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              d00a6fc336b3        4 seconds ago       4.15 MB
<none>              <none>              a88fbba7eede        5 seconds ago       4.15 MB
alpine              latest              3fd9065eaf02        3 months ago        4.15 MB

1条回答
一纸荒年 Trace。
2楼-- · 2020-06-03 04:44

You can use a docker-compose file using the target option:

version: '3.4'
services:
  img1:
    build:
      context: .
      target: img1
  img2:
    build:
      context: .
      target: img2

using your Dockerfile with the following content:

FROM alpine as img1
COPY file1.txt .

FROM alpine as img2
COPY file2.txt .
查看更多
登录 后发表回答