项目结构描述
首先是数据库部分使用了一个docker-compose.yml
然后web部分使用了一个docker-compose.yml
由于项目架构较为复杂,所以分为两部分
现需要将两部分网络连接起来,使其相互之间能够通过container-name访问
具体操作:
-
首先查看数据库部分的容器所在的网络名字( 不要猜:) )
docker inspect <容器名称或ID> --format='{{json .NetworkSettings.Networks}}' # 假定上面的到的结果为:database_network
-
修改web的
docker-compose.yml
... networks: - nrmnetwork networks: nrmnetwork: external: name: database_network
-
检查效果:
# 通过查看容器的ip地址,只要在同一个C段就说明配置成功,可以通过容器名互相访问。 docker inspect <web容器> --format='{{json .NetworkSettings.Networks}}' docker inspect <db容器> --format='{{json .NetworkSettings.Networks}}'