用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 来永久生效

相关推荐
Rsingstarzengjx2 小时前
搭建Jenkins gitlab 环境
运维·服务器
君之嘞4 小时前
【操作系统基础】认识操作系统:系统调用
linux·运维·microsoft
爱倒腾的老唐4 小时前
07、Linux 文件管理
linux·运维·服务器
24zhgjx-fuhao5 小时前
基于时间的ACL
运维·网络
Raymond运维5 小时前
MySQL包安装 -- RHEL系列(离线RPM包安装MySQL)
linux·运维·数据库·mysql
心灵宝贝6 小时前
libopenssl1_0_0-1.0.2p-3.49.1.x86_64安装教程(RPM包手动安装步骤+依赖解决附安装包下载)
linux·运维·服务器
btyzadt6 小时前
Ubuntu中安装Nuclei教程
linux·运维·ubuntu
养生技术人6 小时前
Oracle OCP认证考试题目详解082系列第45题
运维·数据库·sql·oracle·开闭原则·ocp
致宏Rex6 小时前
Docker 完整教程(3,4) | 网络与挂载
运维·docker·容器
倔强的石头1067 小时前
【Linux指南】gdb进阶技巧:断点高级玩法与变量跟踪实战
linux·运维