用docker命令行操作远程的Dockerd daemon服务

本地安装 Dockerd 服务太耗本机磁盘空间了,共用已有的Dockerd服务能够节省一部分空间

修改 Dockerd 服务启动文件,增加TCP监听方式

Dockerd 服务默认监听方式为 Unix Domain Socket ,只允许本机连接,想要能够远程连接,需要增设 TCP 监听方式,修改 docker.service 文件 /lib/systemd/system/docker.service(不同环境路径可能不同,具体可以用命令 systemctl status docker.service 查看),在启动命令参数中增加TCP监听 -H tcp://0.0.0.0:2375

shell 复制代码
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2
Restart=always

然后 reload 并重启 Dockerd 服务:

bash 复制代码
systemctl daemon-reload
systemctl restart docker.service

验证 Dockerd 监听:


远程操作 Dockerd 服务

docker 命令默认会连接本地 Dockerd daemon 服务,要连接远程的 Dockerd 需要指定参数 -H--host

每次执行命令都要加参数无疑比较麻烦,docker 命令行还支持用环境变量 DOCKER_HOST 来指定要连接的Dockerd:

把环境变量加入到 ~/.bashrc 或者 /etc/profile 来永久生效

相关推荐
七夜zippoe6 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
金刚猿7 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong7 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿8 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Fcy6488 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满8 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠8 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9038 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
陈桴浮海9 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
珠海西格电力科技10 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市