软件技术学习笔记

个人博客,记录软件技术与程序员的点点滴滴。

开放Docker Daemon远程访问端口(TCP 2375)

Docker本身是C/S架构,Docker CLI –> Docker daemon。在本地Windows开发环境中,我们可以远程操作Linux环境中的Docker。在Docker容器中使用共享的远程Docker,可以避免每个容器中独立下载Docker Images的缓慢现象。

官方文档,见 https://docs.docker.com/config/daemon/systemd/https://docs.docker.com/install/linux/linux-postinstall/#configure-where-the-docker-daemon-listens-for-connections

在Ubuntu 18.04 Docker服务端中,只需执行以下命令:

sudo mkdir -p /etc/systemd/system/docker.service.d

sudo nano /etc/systemd/system/docker.service.d/override.conf
# override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
sudo systemctl daemon-reload
sudo systemctl restart docker

在客户端中,只需设置以下变量就可以远程访问:

变量名 变量值
DOCKER_API_VERSION 1.39
DOCKER_DRIVER none
DOCKER_HOST tcp://your.IP.or.DomainName:2375

注意:本文中的远程访问方法使用未加密TCP通信,不适合于公网。加密通信,参考官方mTLS方式。