我正在尝试使用class C
class B extends C
class A extends B {
public A() {
PageFactory.initElements(driver, this); //initializes elements in classes A, B and C
}
}
创建2个docker容器,一个用于dev,一个用于prod。这两个容器应链接到单独的postgres数据库。
我尝试了以下方法,但似乎每次都只创建一个容器和一个数据库。
docker-compose.yml
docker-compose
docker-compose.dev.yml
version: "3"
services:
db:
image: postgres:latest
restart: always
container_name: myinstance-postgres-database
environment:
- POSTGRES_USER= dbuser
- POSTGRES_PASSWORD= dbpass
- POSTGRES_DB= ProductionDB
ports:
- 127.17.0.1:5432:5432
volumes:
- myinstance-postgres-db:/var/lib/postgresql/data
app:
image: service/platform:latest
restart: always
container_name: prod-app
environment:
DB_SETUP: "true"
DB_VENDOR: "postgresql"
DB_HOST: db
DB_USER: "dbuser"
DB_PASSWORD: "dbpass"
DB_NAME: "ProductionDB"
DB_WAIT: 10
ports:
- 8443:8443
volumes:
- myinstance-postgres-git:/usr/local/tomcat/webapps/ROOT/WEB-INF/git
depends_on:
- db
volumes:
myinstance-postgres-db:
myinstance-postgres-git:
然后我跑步:
version: "3"
services:
db:
image: postgres:latest
restart: always
container_name: myinstancedev-postgres-database
environment:
- POSTGRES_USER= dbuser
- POSTGRES_PASSWORD= dbpass
- POSTGRES_DB= DevDB
ports:
- 127.17.0.1:5432:5432
volumes:
- myinstancedev-postgres-db:/var/lib/postgresql/data
app:
image: service/platform:latest
restart: always
container_name: dev-app
environment:
DB_SETUP: "true"
DB_VENDOR: "postgresql"
DB_HOST: db
DB_USER: "dbuser"
DB_PASSWORD: "dbpass"
DB_NAME: "DevDB"
DB_WAIT: 10
ports:
- 8444:8443
volumes:
- myinstancedev-postgres-git:/usr/local/tomcat/webapps/ROOT/WEB-INF/git
depends_on:
- db
volumes:
myinstancedev-postgres-db:
myinstancedev-postgres-git:
因此,我有一个容器是dev-app,仅创建了一个数据库。 有解决方案吗?
答案 0 :(得分:0)
如果您想同时运行它们,请使用
sudo docker-compose -f docker-compose.yml -p prod up -d && sudo docker-compose -f docker-compose.dev.yml -p dev up -d
当您在同一docker-compose
命令中传递多个文件时,它不会创建您想要的单独容器。而是合并它们。选中Share Compose configurations between files and projects
还要注意,您的主机中可能存在PORT
个冲突错误。因为在两个撰写文件中,您都暴露了相同的端口5432
和8443
我的输出在不同端口上有2张高山postgres图像。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74a8e5a8fad0 postgres:alpine "docker-entrypoint.s…" 1 second ago Up Less than a second 0.0.0.0:5430->5432/tcp prod_web_1
23f2b995d499 postgres:alpine "docker-entrypoint.s…" 2 seconds ago Up 2 seconds 0.0.0.0:5431->5432/tcp dev_web_1
也请考虑使用env files for compose。