繁体   English   中英

Docker环境多容器结构中PostgreSQL和.Net Core的docker-compose文件应该怎么做?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM