zla*_*yaa 5 postgresql docker docker-compose
我正在运行具有 docker 支持的 NetCore 项目。我的 docker-compose.override.yml:
version: '3.4'
services:
traefik:
ports:
- '80:80'
- '443:443'
- '8080:8080'
myapi:
environment:
- 'ASPNETCORE_ENVIRONMENT=Development'
- 'ConnectionStrings:DbConnection=postgresql://postgres'
- 'Services:Authorization=http://10.0.75.1'
- 'Authorization:Url=http://10.0.75.1'
postgres:
environment:
POSTGRES_USER: "user"
POSTGRES_PASSWORD: "pass"
POSTGRES_DB: testdb
ports:
- 5432:5432
pgadmin4:
environment:
- PGADMIN_DEFAULT_EMAIL=user@domain.com
- PGADMIN_DEFAULT_PASSWORD=SuperSecret
ports:
- 19000:80
Run Code Online (Sandbox Code Playgroud)
和 docker-compose.yml:
version: '3.4'
services:
traefik:
image: traefik
command: --web --docker --docker.domain=docker --logLevel=DEBUG
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /develop/traefik/acme:/etc/traefik/acme
postgres:
image: postgres
labels: { "traefik.enable":"false" }
myapi:
image: myapi
build:
context: .
dockerfile: MyApi/Dockerfile
links:
- postgres
labels: { "traefik.backend":"myapi", "traefik.frontend.rule":"PathPrefixStrip:/" }
pgadmin4:
image: dpage/pgadmin4
links:
- postgres
Run Code Online (Sandbox Code Playgroud)
我无法将连接字符串从 myapi 服务绑定到 postgres docker 容器。我也尝试过 postgresql://postgres:postgres@db:5432 和 postgresql://,以及 postgres,没有运气。
我收到日志:
System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0.
Run Code Online (Sandbox Code Playgroud)
所以显然我无法访问数据库服务器。
我的原始连接字符串,当我在本地运行应用程序时,效果很好,形式如下:
用户 ID = user;Password=pass;Server=localhost;Port=5432;Database=testdb;Integrated Security=true;Pooling=true
任何想法如何在 docker 中使用 postgres 映射我的服务?谢谢!
我认为你应该使用这个:
User ID = user;Password=pass;Server=postgres;Port=5432;Database=testdb;Integrated Security=true;Pooling=true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6906 次 |
| 最近记录: |