我想在主机上运行守护进程并让容器连接到它。我在想我将主机上的守护进程绑定到127.0.0.1
,然后让某些东西(委托?或者 iptables 就足够了?)将数据包从 IP 转发docker0
到守护进程。所以问题是
- 当 docker 守护进程启动时如何启动某些东西
- 那是什么东西?
我在 Debian 7 上。
以下问题似乎相关,但据我所知并不是答案:
答案1
我发现的是——大多数守护进程都能够使用 Unix 套接字,你可以使用 将主机上的套接字挂载到容器中-v
。一切皆文件这一古老技巧非常方便。例如docker run -v /var/run/mysqld/mysqld.sock:/tmp/mysql.sock
。在容器内,你将连接到/tmp/mysql.sock
。同样的技巧也适用于挂载包含套接字的目录——这可用于在 docker 中运行 X Windows 应用程序而无需 SSH 转发:只需执行-v /tmp/.X11-unix:/tmp/.X11-unix
。