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

标签 postgresql docker jboss connection ansible

我正在尝试在 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/

相关文章:

postgresql - 根据表列的内容创建表

docker - "404 page not found"执行时 `curl --unix-socket/var/run/docker.sock http:/containers/json`

JBoss 中的 SSL session 恢复

postgresql - 相当于 PostgreSQL 中的 UNIQUE IDENTIFIER

postgresql - 如何创建一个表,插入两个具有相同主键且不重复的表,并且我需要所有数据

python - SQLAlchemy 多对多 Postgresql 双重删除

docker - 为什么 “docker attach”无法正常工作并在ubuntu上阻止我的Konsole

mysql - AWS RDS + Magento 2

java - 前端 JBoss 的安全问题 - OWASP 安全性的模糊性

java - 将 Java 6 升级到 Java 8