2 Docker 容器 (JBOSS/DATABASE) 之间的网络连接
Network connection between 2 Docker Container (JBOSS/DATABASE)
我正在尝试在 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 之间没有连接。
在我的配置中有什么我遗漏的吗?
非常感谢,
帕斯卡
您需要 link 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"
...
我正在尝试在 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 之间没有连接。 在我的配置中有什么我遗漏的吗?
非常感谢, 帕斯卡
您需要 link 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"
...