Docker容器共享宿主机-安全网络

由于你使用的是 NAT 模式,你的虚拟机和宿主机之间通过虚拟网卡(VMnet8)已经建立了一个局域网。以下是具体操作步骤:

第一步:开启 Ch 的局域网共享

  • 在笔记本上打开 Ch 。
  • 找到 Allow LAN(允许局域网连接)开关,将其打开。
  • 鼠标悬停在 Allow LAN 字样上,查看它分配的端口(通常是 7890)。
  • 防火墙检查(关键): 确保 Windows 防火墙允许 Ch 通过。如果不确定,可以先暂时关闭 Windows 公用网络的防火墙测试,或者在防火墙设置里允许 Ch .exe 的入站规则。

第二步:确定宿主机在虚拟网心中的 IP

在你的设定中,宿主机的虚拟网卡(VMnet8)IP 是 192.168.100.36。这就是虚拟机访问宿主机的"大门"。

第三步:配置 Docker 的代理

Docker 镜像拉取是由 Docker 守护进程(dockerd)执行的,它不直接读取系统环境变量。你需要为 Docker 创建专门的配置文件。

  • 在 Ubuntu 虚拟机中,创建配置目录:
bash 复制代码
sudo mkdir -p /etc/systemd/system/docker.service.d
  • 创建一个名为 http-proxy.conf 的文件:
bash 复制代码
 sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
  • 将以下内容粘贴进去(注意将 192.168.100.36 换成你宿主机的 VMnet8 地址,端口换成 Clash 的端口):
bash 复制代码
[Service]
Environment="HTTP_PROXY=http://192.168.100.36:7890"
Environment="HTTPS_PROXY=http://192.168.100.36:7890"
Environment="NO_PROXY=localhost,127.0.0.1,192.168.100.0/24"
  • 保存并退出(Ctrl+O, Enter, Ctrl+X)。

第四步:重启 Docker 服务

执行以下命令让配置生效:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker

验证是否成功

在虚拟机中尝试拉取一个简单的镜像:

bash 复制代码
docker pull hello-world

如果能看到 Pull complete,说明链路已经打通了。

💡 小贴士

  • 宿主机-VMnet8:192.168.100.36

  • 宿主机-IPv4:192.169.124.7

  • VMwork 与虚拟机使用NAT网络模式

  • VMwork虚拟网络编辑器配置如下:

  • 虚拟机IP:192.168.100.140

  • 所有网关:192.168.100.2

相关推荐
BenSmith16 分钟前
从零上手嵌入式 RTOS:以 Raspberry Pi Pico 2 WH 为例的烧录、定制构建与多系统对比指南
安全
码云数智-大飞29 分钟前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
jinanwuhuaguo40 分钟前
(第二十九篇)OpenClaw 实时与具身的跃迁——从异步孤岛到数字世界的“原住民”
前端·网络·人工智能·重构·openclaw
汇智信科1 小时前
训练安全管理系统:赋能军消装备训练,实现全流程智能化管控
安全·训练安全管理·装备训练智能化·军事训练保障·消防训练管理
等风来不如迎风去1 小时前
【win11】最佳性能:fix 没有壁纸,一直黑屏
网络·人工智能
Harvy_没救了2 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信2 小时前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器
汤愈韬2 小时前
NAT Server 与目的Nat
网络·网络协议·网络安全·security
2401_873479403 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
7ACE3 小时前
Wireshark TS | TLP 超时时间
网络·网络协议·tcp/ip·wireshark·tcpdump