跳转至

Docker socket SSH tunnel

此配置把远端 Docker socket 映射为本地 Unix socket,并每分钟修改 socket 权限。

对应的 systemd 单元如下:

/etc/systemd/system/docker-tunnel@$.service
[Unit]
Description=SSH Tunnel for Docker Socket on %i
After=network.target

[Service]
ExecStartPre=/usr/bin/rm -f /var/run/docker.%i.sock
ExecStart=/usr/bin/ssh -nNT -L /var/run/docker/%i.sock:/var/run/docker.sock coder@%i
Restart=always
RestartSec=10
User=root

[Install]
WantedBy=multi-user.target

Cron 每分钟修改 socket 的用户组和权限:

*/1 * * * * chown :docker /var/run/docker.*.sock; chmod g+rw /var/run/docker.*.sock

评论