我有两个docker容器。一个容器是数据库,另一个容器是Web应用程序。Web应用程序通过此链接http://localhost:7200调用数据库。但是,Web应用程序docker容器无法访问数据库容器。
我尝试过这个docker-compose.yml,但不起作用:
我尝试过这个docker-compose.yml,但不起作用:
version: '3'
services:
web:
# will build ./docker/web/Dockerfile
build:
context: .
dockerfile: ./docker/web/Dockerfile
links:
- graph-db
depends_on:
- graph-db
ports:
- "8080:8080"
environment:
- WAIT_HOSTS=graph-db:7200
networks:
- backend
graph-db:
# will build ./docker/graph-db/Dockerfile
build:
./docker/graph-db
hostname: graph-db
ports:
- "7200:7200"
networks:
backend:
driver: "bridge"
我有两个容器: Web应用程序:http://localhost:8080/reasoner,该容器调用位于不同容器中的http://localhost:7200的数据库。 但是,Web容器无法访问数据库容器。
解决方案:
version: '3'
services:
web:
# will build ./docker/web/Dockerfile
build:
context: .
dockerfile: ./docker/web/Dockerfile
depends_on:
- graph-db
ports:
- "8080:8080"
environment:
- WAIT_HOSTS=graph-db:7200
graph-db:
# will build ./docker/graph-db/Dockerfile
build:
./docker/graph-db
ports:
- "7200:7200"
将web应用程序代码中的http://localhost:7200替换为http://graph-db:7200