docker compose设置不同容器间通信

docker compose新启动了一个容器,这个时候怎么去连接到其他容器呢,去容器里面ping发现不通。一般来说是因为和其他容器没有在一个网络环境里面。首先用命令查看一下当前存在哪些网络环境。
使用命令
docker network ls
在这里插入图片描述
这个时候一般来说已经存在的服务容器,已经存在于这些网络环境之内了,然后尝试加入这些网络环境。下面以加入docker_backend为例演示。

version: '2'
services:
  service1:
    image: images:v1
    ports:
      - "12345:12345"
    volumes:
      - ./:/
    stdin_open: true
    tty: true
    privileged: true
    networks:
      - docker_backend

networks:
  docker_backend:
    external: true

然后尝试构建并启动容器
docker-compose up service1
基本上就可以成功启动容器了,这里要注意docker_backend一定要是一个已经存在的network,否则启动将会报错。
如果需要新建新的网络环境,使用命令
docker network create newnetwork
然后各services同时连接到新创建的网络环境即可。

posted on 2022-10-26 23:04  黑夜开发者  阅读(325)  评论(0编辑  收藏  举报