Docker compose 如何使用每个容器创建多个图像

Docker compose 如何使用每个容器创建多个图像,docker-compose,Docker Compose,我正在尝试用一个容器创建多个图像 docker-compose.yml version: '3' services: consumer: image: consumer build: context: . dockerfile: ./docker_files/consumer command: python3 asynchronous_consumer.py environment: - CELERYSERVER -

我正在尝试用一个容器创建多个图像

docker-compose.yml

version: '3'

services:
  consumer:
    image: consumer
    build:
      context: .
      dockerfile: ./docker_files/consumer
    command: python3 asynchronous_consumer.py
    environment:
    - CELERYSERVER
    - CELERYUSER
    - CELERYPASS
    - DATABASESERVER
    - DATABASEUSER
    - DATABASEPASS
    - APISERVER
    volumes:
    - /var/log:/var/log
    - /home/uadmin/msw/queuemgr/mongodb_cache:/usr/src/app/mongodb_cache
    container_name: consumer

  publisher:
    image: publisher
    build:
      context: .
      dockerfile: ./docker_files/publisher
    command: python3 publisher.py
    environment:
    - CELERYSERVER
    - CELERYUSER
    - CELERYPASS
    - DATABASESERVER
    - DATABASEUSER
    - DATABASEPASS
    - APISERVER
    volumes:
    - /var/log:/var/log
    - /home/uadmin/msw/queuemgr/mongodb_cache:/usr/src/app/mongodb_cache
    container_name: publisher
但是,
docker compose images
命令的输出为这两个对象显示相同的图像id:

uadmin@blr0ubmsmqtest:~/msw/queuemgr$ docker-compose images
Container   Repository    Tag       Image Id       Size
---------------------------------------------------------
consumer    consumer     latest   afa1dcf63755   458.6 MB
publisher   publisher    latest   afa1dcf63755   458.6 MB

如何使用每个容器创建多个图像?

这两个DockerFile是否可能相同?这会导致这种情况;第二个映像将仅从第一个映像的缓存层构建,并且您将得到相同的映像。(它们可能具有不同的
CMD
,您不需要在撰写设置中重写
命令:
。)