📌  相关文章
📜  WSL 将 docker 守护进程连接到 docker for windows - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:35:45.366000             🧑  作者: Mango

WSL 将 Docker 守护进程连接到 Docker for Windows

如果你在 Windows 上使用 Docker 技术,并且想在 WSL 环境下运行 Docker,那么就需要将 Docker 守护进程连接到 Docker for Windows。这里提供一个简单的步骤。

步骤
  1. 确保安装了 Docker for Windows,并且已经启动了 Docker 守护进程。
  2. 在 WSL 中安装 Docker:
sudo apt-get update
sudo apt-get install docker.io
  1. 安装 socat 工具:
sudo apt-get install socat
  1. 设置环境变量 DOCKER_HOST
export DOCKER_HOST=tcp://localhost:2375
  1. 运行 socat
socat TCP-LISTEN:2375,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock

现在,你可以在 WSL 中运行 Docker 了。

说明

socat 可以在 TCP 端口和 Unix 套接字之间建立连接,用于实现不同平台的通信。在这个例子中,TCP 端口是 localhost:2375,Unix 套接字是 Docker 守护进程的套接字 /var/run/docker.socksocat 会监听 TCP 端口上的请求,将其转发到 Docker 守护进程的 Unix 套接字上。

环境变量 DOCKER_HOST 告诉 Docker CLI 使用远程 Docker 服务。

最后,如果你想在每次启动 WSL 时都自动设置 DOCKER_HOST 环境变量,可以将其添加到 ~/.bashrc~/.bash_profile 中:

echo 'export DOCKER_HOST=tcp://localhost:2375' >> ~/.bashrc