Intellij 系列 IDE/VSCode 远程连接 Docker Engine(重点是 windows 使用 docker clinet 远程连接 docker engine)

Intellj/VSCode 连接本地的 Docker 基本不需要任何配置,默认直接就能连上,因此这里不再说明。

下面介绍各 IDE 远程连接 Docker Engine 的方法:

一、Docker Engine 配置

Docker 默认只监听本地 Unix 连接,无法远程访问。因此首先需要让 Docker Engine 监听 TCP 远程端口。修改 /etc/docker/daemon.json 中的 hosts 参数:

{
    "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
    "oom-score-adjust": -1000,
    "log-driver": "json-file",
    "log-opts": {
      "max-size": "50m",
      "max-file": "1"
    },
    "max-concurrent-downloads": 10,
    "max-concurrent-uploads": 10,
    "insecure-registries" : ["harbor.internal.xxx.com"],
    "registry-mirrors": [
      "https://dockerhub.azk8s.cn",
      "https://hub-mirror.c.163.com"
    ],
    "storage-driver": "overlay2",
    "storage-opts": [
      "overlay2.override_kernel_check=true"
    ]
}

主要是第一行 hosts 参数,其他参数主要是些镜像仓库、日志大小限制等配置,详见 DevOps-Docker

改好后 systemctl restart docker 重启 docker engine.

二、IDE 配置

1. Intellij 系列 IDE: Idea/Pycharm/Goland/Rider 等

全系列 IDE 自带 Docker 插件,该插件内部使用 java 的 docker sdk 与 Docker Engine 交互,不需要单独安装 docker/docker-compose client.
只需要给个 remote api 和 certifact 证书(用于认证)就行。

2. VSCode 配置

根据 VSCode Docs - Container Advanced - 连接远程 docker host,VSCode 的 Container 插件要求本机必须安装好 docker-clientdocker-compose.

上述两个客户端的安装方法:

  1. Linux: 参考 Rancher - Docker 安装,自己剔除掉 docker-engine 的安装即可。
  2. Windows: 使用 chocolaty 安装 choco install docker-cli docker-compose 即可
    • choco 的 docker-cli 来源:StefanScherer/docker-cli-builder,是第三方编译版,非官方。
    • choco 的 docker-compose 来源: 在 docker-compose - github release ,官方包。
    • docker-compose 是纯 python 写的,因此也可以通过 pip install docker-compose 进行安装。
    • 不需要安装臃肿的 docker-desktop,那东西还和 vmware/virtualbox 不兼容,还只支持 windows 10 pro 以上的版本,就是个垃圾。。。

安装好客户端后,通过环境变量设定 docker 的远程地址 DOCKER_HOST:

# Linux 临时设置环境变量
export DOCKER_HOST='tcp://X.X.X.X:2375'

# Windows Powershell
$env:DOCKER_HOST = 'tcp://X.X.X.X:2375'  # 临时设置环境变量
[Environment]::SetEnvironmentVariable("DOCKER_HOST", "tcp://X.X.X.X:2375", "User")  # 修改当前用户的环境变量,只对新进程有效

然后重启 VSCode,点击左边的 Docker 插件,就可以发现插件已经连接上了哈哈。

另外直接在 powershell 中输入 docker ps,你会发现 docker 命令也可以正常使用了。非常舒服,比用 windows-docker-desktop 舒服多了。

我目前是本地开了一个 vmware 虚拟机,然后 windows 本机通过上述配置连接虚拟机中的 docker engine.

猜你喜欢

转载自www.cnblogs.com/kirito-c/p/12677364.html