wsl2 通过桥接实现 局域网访问,docker 远程连接执行testcontainer

发布时间 2024-01-05 17:34:02作者: 2022——new_start

为了不想在本地安装docker 运行 testcontainer 容器测试,需要wsl2 的所有端口,局域网都可以访问,折腾了3天,最后在

https://zhuanlan.zhihu.com/p/659074950 这篇文章的指引下才实现

 

首先打开控制面板 点击程序

 点击启用或关闭Window功能

 

 

 确保开启虚拟化

然后打开

 创建虚拟交换机 xua

 选择外部

 C:\Users\Administrator\ 目录下创建 wslconfig文件

 编辑 .wslconfig  加入桥接配置信息

[wsl2]
networkingMode=bridged
vmSwitch=wslBridge # 刚才设置的虚拟交换机
ipv6=true # 开启ipv6,

 保存

cmd  先关闭  wsl --shutdown

再启动wsl

  说明wsl2 桥接 设置成功

按照 官方安装 docker ,这里使用的windows 子系统,是官方推荐的 

 按照docker .hub 官网给 linux 子系统安装docker

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update


sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

配置远程访问
vi /etc/docker/daemon.json

加入如下

{

"hosts":
[
"unix:///var/run/docker.sock",
"tcp://0.0.0.0:2375"
]
}

 重启docker 

发现启动不了

然后开两个终端 直接dockerd 启动

 

不关掉 ,

 发现正常了.先这样用吧

关闭windows 防火墙 ,直接测试使用

点击这里编辑配置

DOCKER_HOST=tcp://192.168.5.112:2375;DOCKER_TLS_VERIFY=0;TESTCONTAINERS_RYUK_DISABLED=true

 

ESTCONTAINERS_RYUK_DISABLED=true 这个变量不知道干嘛的,不加上就报RYUK连接不上