2个Docker容器(JBOSS / DATABASE)之间的网络连接

时间:2016-07-25 14:06:21

标签: postgresql docker jboss connection ansible-playbook

我试图在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之间没有连接。 在我的配置中,有什么我错过的吗?

非常感谢, 帕斯卡

1 个答案:

答案 0 :(得分:0)

您需要将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"
...