从在boot2docker / osx中运行的docker容器中查找主机ip
我刚刚尝试在OS X上使用boot2docker将应用程序移动到Docker容器中。
这个应用程序需要连接到主机系统上运行的MySQL服务器(不在应用程序的容器或另一个容器中)。
现在,我正在努力configuration“dockerized”应用程序中的mysql主机名:到目前为止,它只是连接到本地主机 ,但是这不再工作,因为这不再指向主机mysql实际上运行。
作为一个快速的解决方法,我已经添加了我的工作站私有IP( 10.0.0.X在我的情况)到应用程序的mysql连接configuration。
不过,我想知道: 是否有一个自动的方式来find一个docker集装箱内的主机的私人IP地址 ?
您可以通过环境variables向所包含的应用程序提供IP和端口。
在您的容器中创build一个脚本,如:
#!/bin/bash export $MYSQL_HOST export $MYSQL_PORT echo $MYSQL_HOST echo $MYSQL_PORT # TODO: maybe your have to write some config files at this point /start_your_app.sh # use the enviroment variables eg in your app config.
运行你的containerimage:
docker run -e MYSQL_HOST=192.168.172.1 MYSQL_PORT=3306 your_image
看看例如http://serverascode.com/2014/05/29/environment-variables-with-docker.html