PyCharm 2022无法识别运行中的远程Docker服务,寻求技术支持(专业版)
从你提供的Docker服务状态信息来看,dockerd的启动参数是-H fd://,这说明Docker仅监听本地文件套接字,没有开启远程TCP连接的监听端口,导致PyCharm无法建立远程连接。以下是具体解决方案:
修改Docker守护进程配置,开启远程监听
编辑(或创建)Docker的daemon配置文件/etc/docker/daemon.json,添加远程监听配置:{ "hosts": ["fd://", "tcp://0.0.0.0:2375"] }0.0.0.0允许所有IP访问,也可指定特定IP;2375是Docker默认的未加密端口,生产环境建议改用加密的2376端口并配置证书。调整systemd服务文件,避免启动参数冲突
原Docker服务的启动命令已包含-H fd://,直接修改daemon.json会引发冲突。编辑/lib/systemd/system/docker.service,找到ExecStart行,修改为:ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock去掉原有的
-H fd://参数,让daemon.json的配置生效。重启Docker服务
执行以下命令重新加载systemd配置并重启Docker:sudo systemctl daemon-reload sudo systemctl restart docker在PyCharm中配置Docker连接
打开PyCharm的File > Settings,进入Build, Execution, Deployment > Docker,点击添加按钮选择TCP socket,输入远程服务器IP和端口(格式如tcp://x.x.x.x:2375),点击Test Connection验证连接成功后,即可继续配置Docker Python解释器。(可选)开放防火墙端口
如果远程服务器启用了防火墙,需开放2375端口(以ufw为例):sudo ufw allow 2375/tcp
注意:生产环境中不要使用未加密的2375端口,务必配置TLS加密,防止未授权访问Docker服务。
内容的提问来源于stack exchange,提问作者Jacobo Lansac

