首页 > 解决方案 > 无法在具有桥接网络的 VM 中访问 docker 网络

问题描述

我在我的 Ubuntu PC 上的默认网络上运行了两个 docker 容器。我有一个 Ubuntu VM 在同一台 PC 上运行,带有一个桥接适配器(wlp3s0),我试图在 PC 的默认 docker 网络上再运行 2 个容器。

PC 中的 docker_compose.yml 文件:

test/docker_compose.yml

version: "3.4"
services:
  container_1:
    build:
      context: .
      dockerfile: ./Dockerfile
    ports:
      - "5000:5000"
    expose:
      - "5000"

  container_2:
    build:
      context: .
      dockerfile: ./2/Dockerfile
    ports:
      - "5001:5001"
    expose:
      - "5001"

networks:
  default:
    driver: bridge

VM 中的 docker_compose.yml 文件:

test/docker_compose.yml

version: "3.4"
services:
  container_1:
    build:
      context: .
      dockerfile: ./Dockerfile
    ports:
      - "5000:5000"
    expose:
      - "5000"

  container_2:
    build:
      context: .
      dockerfile: ./2/Dockerfile
    ports:
      - "5001:5001"
    expose:
      - "5001"

networks:
  default:
    external:
      name: test_default

docker network list在 PC 中产生以下结果:

NETWORK ID          NAME                DRIVER              SCOPE
e3c3a779e67a        bridge              bridge              local
6ffc94e5474c        host                host                local
3a177ebcdaae        none                null                local
40ea39edee9a        test_default        bridge              local

docker network list在VM中产生以下结果:

NETWORK ID          NAME                DRIVER              SCOPE
e3c3a779e67a        bridge              bridge              local
6ffc94e5474c        host                host                local
3a177ebcdaae        none                null                local

如上所示,我无法连接到 VM 中的 test_default 网络。我在哪里做错了?

标签: dockerdocker-composevirtualboxdocker-networking

解决方案


推荐阅读