Ubuntu 18.04 在 Clion 中使用 Docker 插件

在我的 Ubuntu 18.04 中,当 Clion 的 Docker 插件直接使用 Unix socket 与 Docker daemon 进行通信时,会抛出 java.io.IOException: unexpected end of stream on http://docker.socket/... 的异常。所以采用将 Docker daemon 开启一个新的 tcp 端口,配置 Clion 的 Docker 插件与其进行通信。

Ubuntu 18.04 在 Clion 中使用 Docker 插件

在 Clion 中安装 Docker 插件

在插件市场直接搜索 Docker 即可。官方使用文档:Docker

此时已经可以在 File | Settings | Build, Execution & Deployment | Docker 中进行配置了。可见有三个选项:

image-20200806152451295

首先当然默认的 Unix socket 方式是最简单的,可以直接试一下,成功的话下面会显示 Connection successful,这样就可以啦,不用看下面的步骤了。

但是我这里抛出了 java.io.IOException: unexpected end of stream on http://docker.socket/... 的异常… 所以考虑使用其他解决方案,即采用 TCP socket 的方式。

image-20200806153327375

开启本地 Docker daemon 的 2375 端口

1
sudo vim /lib/systemd/system/docker.service

找到 ExecStart,后面追加 -H tcp://0.0.0.0:2375

image-20200806152943222

然后重启Docker:

1
2
systemctl daemon-reload
systemctl restart docker

在 Clion Docker 插件中进行配置

选择 TCP socket 即可:

image-20200806153227068

成功配置后的简单使用

可进行对 Docker 方便的管理:

image-20200806153504778

对 Dockerfile 可以直接创建 run configuration:

image-20200806154130257

Go further

当然上文只是本地配置时的一些问题以及解决办法;如果连远程服务器上的 Docker,则同理,直接配置 TCP 方式连接即可。