A.C*_*A.C 2 vapor vapor-fluent
我使用 docker 为一个项目编写 Vapor、PostgreSQL 和 Nginx,我的 docker-compose.yml 像这样:
version: "3.6"
services:
vapor:
build:
context: ./vapor
image: ${CURRENT_VAPOR_IMG}
ports:
- 8080:8080
volumes:
- ${HOST_ROOT}:${CONTAINER_ROOT}
working_dir: ${CONTAINER_ROOT}
tty: true
entrypoint: bash
networks:
- x-net
nginx:
build:
context: ./nginx
image: ${CURRENT_NGINX_IMG}
ports:
- ${HOST_HTTP_PORT}:80
volumes:
- ${HOST_ROOT}:${CONTAINER_ROOT}
networks:
- x-net
psql:
image: ${CURRENT_DB_IMG}
ports:
- 5432:5432
environment:
- POSTGRES_DB=xxx
- POSTGRES_USER=xxx
- POSTGRES_PASSWORD=pass
volumes:
- ~/x/x-db:/var/lib/postgresql/data
networks:
- x-net
networks:
x-net:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
运行docker-compose up启动所有容器后,进入到vapor的容器中build&&运行项目,控制台会提示错误:
NIO.ChannelError.connectFailed(NIO.NIOConnectionError(host: "localhost", port: 5432, dnsAError: nil, dnsAAAAError: nil, connectionErrors: [NIO.SingleConnectionFailure(target: [IPv6]localhost/::1:5432, error: connection reset (error set): Connection refused (errno: 61)), NIO.SingleConnectionFailure(target: [IPv4]localhost/127.0.0.1:5432, error: connection reset (error set): Connection refused (errno: 61))]))
Run Code Online (Sandbox Code Playgroud)
然后我在本地机器上运行vapor项目并保持psql容器运行,它正常工作,例如完成了第一次模型迁移。
我的 docker 或其他任何配置是否有任何错误?
要连接到容器内的数据库,不要使用 localhost 作为 db 主机,而是使用您的 db 容器名称。所以在你的情况下,主机是 psql。在这里,您的 docker compose 格式不正确 psql 和 nginx 必须多一个选项卡。但也许它只是格式错误。
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |