我有两个项目。第一个包含以下docker-compose.yml
:
# pg/docker-compose.yml
version: "3"
services:
postgres:
image: postgres
environment:
POSTGRES_USER: pguser
POSTGRES_DB: pg
ports:
- "5432:5432"
volumes:
- "postgres-data:/var/lib/postgresql/data"
networks:
- some_net
volumes:
postgres-data:
networks:
some_net:
driver: bridge
第二个项目有这个docker compose文件:
# pg_client/docker-compose.yml
version: "3"
services:
postgres_client:
image: tmaier/postgresql-client
command: postgres://pguser@localhost:5432/pg
networks:
- pg_some_net
networks:
pg_some_net:
external: true
我可以很好地从命令行连接到我的Postgres数据库:
$ psql postgres://pgmuser@localhost:5432/pg
psql (12.1)
Type "help" for help.
pg=#
但是,当postgres_client
容器尝试连接时(在运行docker-compose up
之后),它会失败,并表示
postgres_client_1 | psql: could not connect to server: Connection refused
postgres_client_1 | Is the server running on host "localhost" (127.0.0.1) and accepting
postgres_client_1 | TCP/IP connections on port 5432?
postgres_client_1 | could not connect to server: Address not available
postgres_client_1 | Is the server running on host "localhost" (::1) and accepting
postgres_client_1 | TCP/IP connections on port 5432?
在编写Postgres连接URI时,关于docker-compose有什么特别的地方需要说明吗?
非常感谢任何帮助。
postgres的主机名应解析为postgres
而不是localhost
。你可以试试
command: postgres://pguser@postgres:5432/pg
我想在一个容器中运行 RabbitMQ,在另一个容器中运行工作进程。工作进程需要访问 RabbitMQ。 我希望这些通过进行管理。 这是我的<代码>docker compose。迄今为止,yml文件: 所以我暴露了RabbitMQ端口。工作进程使用以下URL访问RabbitMQ: 这是他们在官方教程中使用的,但是已被替换为,因为容器应该可以使用与容器名称相同的主机名来发现: 默认情况下,“合成”会
我有一个在节点容器和redis容器中运行的express API。当试图将节点容器连接到redis时,我遇到了以下错误。
问题内容: 我在Mac OS 10.8.5上安装了docker-machine 0.1.0和docker-compose 1.1.0。 Docker-machine正常运行,并且能够通过docker-machine ssh连接。 但是无法从docker-compose连接。 无法通过http + unix://var/run/docker.sock连接到Docker守护程序-它正在运行吗? 如果它
我在Mac OS 10.8.5上安装了docker-machine 0.1.0和docker-compose 1.1.0。 docker-machine运行正常,并且能够通过docker-machine SSH进行连接。 但无法从Docker-Compose连接。 无法连接到HTTP+UNIX上的Docker后台进程://var/run/Docker.sock-它正在运行吗? 如果它位于非标准位置
我在一个服务器上安装了MySQL server,并进行了dockerized项目,数据库是不能公开访问的,只能从服务器内部访问。它也被本地的非dockerized应用程序使用。我想从docker内部连接到它,但它仍然不能公开访问,我尝试了172.17.0.1,但我的连接被拒绝。当前的bind_address是127.0.0.1,您建议bind_address是什么?
我正在运行2个spring boot应用程序:一个客户端和rest-api。客户机与rest-api通信,rest-API与mongodb数据库通信。所有3层都在docker容器中运行。 我启动容器,通常指定docker文件中公开的端口,并将它们映射到主机上的端口,例如:-p 7070:7070,其中7070是docker文件中公开的端口。 当我通过< code > Java-jar[applic