docker - 无法在具有桥接网络的 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 网络。我在哪里做错了?
解决方案
推荐阅读
- android - 添加新插件后 Unity 游戏错误
- android - 声池音量级别
- node.js - 编译后在 Electron 子进程上访问 Node 模块
- database - 无法弄清楚为什么 oracle 数据库需要更多时间来插入全部
- laravel - Laravel 急切加载为空,具有多态关系
- c# - 防止对象在流畅的构建器模式C#中实例化
- android - ViewModel 在权限更改中被清除
- laravel - 如何在 Laravel nova 中的索引上显示降价字段?
- javascript - 为什么我没有通过 id 获得一件商品?
- visual-c++ - CString::Replace not working with values from registry