我正在尝试在 2 个 Docker 容器之间建立连接。 第一个是 postgres 数据库,第二个是 jboss。
我正在使用 ansible,这是我的 Playbook:
---
- hosts: localhost
tasks:
- name: start postgresql
docker:
name: mypostgres
image: MYIMAGE_POSTGRES
ports:
- 5432:5432
expose:
- 5432:5432
state: started
env:
DB_USER: "user"
DB_PASS: "pass"
DB_NAME: "name"
- name: start jboss
docker:
name: jboss
image: MYIMAGE_JBOSS
ports:
- 1099:1099
expose:
- 1099:1099
state: running
env:
POSTGRES_PORT_5432_TCP_ADDR: "172.17.0.2"
POSTGRES_PORT_5432_TCP_PORT: 5432
HIBERNATE_CREATE_DDL: ""
DB_NAME: "name"
DB_USER: "user"
DB_PASS: "pass"
如果我同时启动两个 docker 镜像,则数据库和 jboss 之间没有连接。 我的配置中是否遗漏了什么?
非常感谢, 帕斯卡
最佳答案
您需要将 postgres 容器链接到 jboss 容器。为此,请使用 link
选项
...
docker:
name: jboss
image: MYIMAGE_JBOSS
ports:
- 1099:1099
expose:
- 1099:1099
links:
-mypostgres
state: running
env:
POSTGRES_PORT_5432_TCP_ADDR: "mypostgres"
POSTGRES_PORT_5432_TCP_PORT: 5432
HIBERNATE_CREATE_DDL: ""
DB_NAME: "name"
DB_USER: "user"
DB_PASS: "pass"
...
关于postgresql - 2个Docker容器(JBOSS/DATABASE)之间的网络连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38569924/