【发布时间】:2019-07-28 13:02:26
【问题描述】:
2 个容器,一个 Java 应用程序和第二个 mongodb。
如果我在本地运行我的 java 应用程序并在容器中运行 mongodb,它会连接,但如果两者都在容器内运行,则 java 应用程序无法连接到 mongodb。
docker-compose文件如下,是不是漏了什么
version: "3"
services:
user:
image: jboss/wildfly
container_name: "user"
restart: always
ports:
- 8081:8080
- 65194:65193
volumes:
- ./User/target/User.war:/opt/jboss/wildfly/standalone/deployments/User.war
environment:
- JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,address=0.0.0.0:65193,suspend=n,server=y -Djava.net.preferIPv4Stack=true
- MONGO_HOST=localhost
- MONGO_PORT=27017
- MONGO_USERNAME=myuser
- MONGO_PASSWORD=mypass
- MONGO_DATABASE=mydb
- MONGO_AUTHDB=admin
command: >
bash -c "/opt/jboss/wildfly/bin/add-user.sh admin Admin#007 --silent && /opt/jboss/wildfly/bin/standalone.sh -b 0.0.0.0 -bmanagement 0.0.0.0"
links:
- mongo
mongo:
image: mongo:4.0.10
container_name: mongo
restart: always
volumes:
- ./assets:/docker-entrypoint-initdb.d/
environment:
- MONGO_INITDB_ROOT_USERNAME=myuser
- MONGO_INITDB_ROOT_PASSWORD=mypass
ports:
- 27017:27017
- 27018:27018
- 27019:27019
编辑
我也对以下内容感到困惑。
links:
- mongo
depends_on:
- mongo
【问题讨论】:
-
Mongo 主机应该是 'mongo'
-
谢谢,我也对链接和depends_on感到困惑,介意解释一下,谢谢
标签: java mongodb docker docker-compose