Docker群集相同的图像不同的构建

Docker群集相同的图像不同的构建,docker,docker-swarm,docker-registry,docker-swarm-mode,Docker,Docker Swarm,Docker Registry,Docker Swarm Mode,Im使用Docker版本19.03.3和Docker swarm以及Docker注册表。 我想知道我如何使用相同的图像,但不同的建设 my swarm.yml: version: '3' services: db: image: 127.0.0.1:5000/postgres:11.5 build: docker-compose.d/postgres environment:

Im使用Docker版本19.03.3和Docker swarm以及Docker注册表。 我想知道我如何使用相同的图像,但不同的建设

my swarm.yml:

version: '3'
services:

        db:
                image: 127.0.0.1:5000/postgres:11.5
                build: docker-compose.d/postgres
                environment:
                        - PG_MAX_WAL_SENDERS=8
                        - PG_WAL_KEEP_SEGMENTS=8
                        - PGDATA=/var/lib/postgresql/data/pgdata
                        - POSTGRES_USER=user
                        - POSTGRES_PASSWORD=password

                deploy:
                 placement:
                   constraints:
                       - node.role == manager
        db-slave:
                build: docker-compose.d/postgres/slave
                image: 127.0.0.1:5000/postgres:11.5
                environment:
                        - PGDATA=/var/lib/postgresql/data/pgdata
                        - REPLICATE_FROM=db
                        - POSTGRES_USER=user
                        - POSTGRES_PASSWORD=password

                deploy:
                 placement:
                   constraints:
                       - node.role == manager
                depends_on:
                        - db
docker图像:

127.0.0.1:5000/postgres   11.5                839a428f8eac        4 days ago          848MB
127.0.0.1:5000/postgres   <none>              e5636a8fc5f0        4 days ago          848MB
127.0.0.1:5000/postgres   <none>              6c1932b5707c        4 days ago          848MB
postgres                  11.5                5f1485c70c9a        5 days ago          293MB
registry                  <none>              f32a97de94e1        7 months ago        25.8MB
docker文件数据库从机:

FROM postgres:11.5
RUN apt-get update -y
RUN apt-get install postgis iputils-ping -y
COPY setup-replication.sh /docker-entrypoint-initdb.d/
COPY docker-entrypoint.sh /docker-entrypoint.sh
COPY postgres.sql /docker-entrypoint-initdb.d/
RUN chmod +x /docker-entrypoint-initdb.d/setup-replication.sh /docker-entrypoint.sh
它们都是来自注册表的图像postgres:11.5,这就产生了一个问题 因为我确实想在两者上都使用postgres 11.5,但使用不同的构建,因为我需要在两者上执行不同的构建过程。一个正在复制文件,另一个没有。(例如) 我该怎么做


注册表将两个版本另存为一个postgres:11.5

都有相同的名称,因为您使用的是相同的
图像:127.0.0.1:5000/postgres:11.5

image
在此上下文中是结果图像的名称,而不是基本图像的名称

所以,基本上把它们改成:

        db:
                image: 127.0.0.1:5000/db          <--------
                build: docker-compose.d/postgres
        db-slave:
                build: docker-compose.d/postgres/slave
                image: 127.0.0.1:5000/db-slave <--------
db:
图像:127.0.0.1:5000/db
        db:
                image: 127.0.0.1:5000/db          <--------
                build: docker-compose.d/postgres
        db-slave:
                build: docker-compose.d/postgres/slave
                image: 127.0.0.1:5000/db-slave <--------