Wormhole 是一个能识别命名空间的由 Socket 激活的隧道代理。可以让你安全的连接在不同物理机器上的 [Docker](/p/docker) 容器。可以用来完成一些有趣的功能,例如连接运行在容器本机的服务或者在连接后创建按需的服务。
例如要连到容器中的 MySQL 服务:
![ex-01](http://static.oschina.net/uploads/img/201409/23062051_kDsM.png)
连接方法:
<pre class="brush:shell;toolbar: true; auto-links: false;">mysql=`docker run -d wormhole/mysql`
./wormhole create url :3306 docker-ns tail docker-ns $mysql
mysql -u root -h 127.0.0.1</pre>
创建一个本地的 WordPress 容器到 MySQL 容器:
![ex-02](http://static.oschina.net/uploads/img/201409/23062052_3mgE.png)
<pre class="brush:shell;toolbar: true; auto-links: false;">app=`docker run -d wormhole/wordpress`
mysql=`docker run -d wormhole/mysql`
./wormhole create url :3306 docker-ns $app tail docker-ns $mysql</pre>
创建一个本地端口来连接:
![ex-03](http://static.oschina.net/uploads/img/201409/23062052_VJJf.png)
<pre class="brush:shell;toolbar: true; auto-links: false;">./wormhole create url :80 trigger docker-run wormhole/wordpress \
child url :3306 trigger docker-run wormhole/mysql</pre>
创建一个本地端口到远程 MySQL 服务:
[![ex-04](http://static.oschina.net/uploads/img/201409/23062053_RVki.png)](https://cloud.githubusercontent.com/assets/142222/4346908/2a96b5f2-411f-11e4-9e36-1921a8a3cbda.png)
<pre class="brush:shell;toolbar: true; auto-links: false;">mysql=`docker -H myserver run -d wormhole/mysql`
./wormhole create url :3306 remote myserver tail docker-ns $mysql</pre>
更多的使用场景请点击本文介绍结束后的“软件文档”按钮。