![连接到主机守护进程的 Docker 容器](https://linux22.com/image/648241/%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%B8%BB%E6%9C%BA%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B%E7%9A%84%20Docker%20%E5%AE%B9%E5%99%A8.png)
我想在主机上运行守护进程并让容器连接到它。我在想我将主机上的守护进程绑定到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
。