- expose + link で link オプションをつけて起動したクライアントで環境変数で拾える
- 以下のテストでは mysql が動くイメージをサーバ/クライアント両方で利用しているが、特に意味はない
# docker run -d -expose 3306 -name mysql-server mysql
10eaabc4b538f9e08a190ffc0545c2b76be69f7723acc3528d7ebec120fe51a2
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
10eaabc4b538 mysql:latest /usr/bin/mysqld_safe 19 seconds ago Up 18 seconds 3306/tcp mysql-server
# docker run -t -i -link mysql-server:mysql mysql /bin/bash
root@6c8b2f24e559:/# env
HOSTNAME=6c8b2f24e559
TERM=xterm
MYSQL_PORT_3306_TCP_PORT=3306
MYSQL_PORT_3306_TCP=tcp://172.17.0.31:3306
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1
HOME=/
MYSQL_NAME=/cranky_bohr/mysql
MYSQL_PORT_3306_TCP_PROTO=tcp
MYSQL_PORT_3306_TCP_ADDR=172.17.0.31
MYSQL_PORT=tcp://172.17.0.31:3306
container=lxc
_=/usr/bin/env
# docker run -d -name mysql-server mysql
490144a7e73a039334f5a35d1a384cb2e50d25cbda7e1823b04257154d6dfc2d
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
490144a7e73a mysql:latest /usr/bin/mysqld_safe 7 seconds ago Up 6 seconds mysql-server
# docker run -t -i -link mysql-server:mysql mysql /bin/bash
root@975e4c9a6d55:/# env
HOSTNAME=975e4c9a6d55
TERM=xterm
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1
HOME=/
MYSQL_NAME=/determined_heisenberg/mysql
container=lxc
_=/usr/bin/env