从boot2docker泊坞窗容器中运行查找主机IP/OSX
问题描述:
我刚才试图将应用移动到使用在OS X boot2docker泊坞窗容器从boot2docker泊坞窗容器中运行查找主机IP/OSX
此应用程序需要连接到主机上运行的MySQL服务器系统(不在应用程序的容器或另一个容器中)。
现在我与配置“dockerized”应用中的MySQL主机挣扎:到目前为止,它只是连接到本地主机,但因为这不再指向主机MySQL的实际运行这个不工作了上。
作为一种快速解决方法,我已将我的工作站私有IP(10.0.0.X)(我的情况)添加到应用的mysql连接配置中。
但是我想知道: 是否有自动的方式从一个码头工人容器内找到主机的私有IP地址?
答
您可以通过环境变量向所包含的应用程序提供IP和端口。
在容器中创建一个脚本,如:
#!/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 e.g. 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
这是一个有效的解决方案/一种方式 - 但我仍然好奇如何找到主机系统的IP :) –
/sbin/ip route | awk'/ default/{print $ 3} '[看这里](http://stackoverflow.com/questions/22944631/how-to-get-the-ip-address-of-the-docker-host-from-inside-a-docker-container) – Pluto1010
@ Pluto1010。这在使用boot2docker时不起作用。 – foldl