[英]How should be docker-compose file for PostgreSQL and .Net Core in Docker Environment multi-container structure?
这在 docker-compose 中对我有用,其中一个容器是 postgresqldb,另一个容器是 .net 核心 3.1 容器。
#docker-compose.yml
version: '3.4'
services:
customerdb:
image: postgres
customer.api:
image: ${DOCKER_REGISTRY-}customerapi
build:
context: .
dockerfile: Customer/Customer.API/Dockerfile
docker-compose.override.yml
customerdb:
container_name: customerdb
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
POSTGRES_USER: postgres
ports:
- 5100:5432
volumes:
- ./postgres-data1:/var/lib/postgresql/data
customer.api:
container_name: customerapi
environment:
- ASPNETCORE_ENVIRONMENT=Development
- "ConnectionStrings:CustomerConnection=host=host.docker.internal;port=5100;database=CustomerDB;username=postgres;password=postgres"
depends_on:
- customerdb
volumes:
- ${HOME}/.microsoft/usersecrets/:/root/.microsoft/usersecrets
- ${HOME}/.aspnet/https:/root/.aspnet/https
ports:
- "8000:80"
我使用 ConnectionStrings:CustomerConnection=host=... 因为我曾经使用 app.config 来获取连接字符串。 但是如何从 customerapi 到 customerdb 不同的连接字符串?
使用这个家伙:
customerdb:
container_name: customerdb
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
POSTGRES_USER: postgres
ports:
- 5100:5432
volumes:
- ./postgres-data1:/var/lib/postgresql/data
customer.api:
container_name: customerapi
links:
- "customerdb:database"
environment:
- ASPNETCORE_ENVIRONMENT=Development
- "ConnectionStrings:CustomerConnection=host=customerdb;port=5432;database=CustomerDB;username=postgres;password=postgres"
depends_on:
- customerdb
volumes:
- ${HOME}/.microsoft/usersecrets/:/root/.microsoft/usersecrets
- ${HOME}/.aspnet/https:/root/.aspnet/https
ports:
- "8000:80"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.