从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

+0

这是一个有效的解决方案/一种方式 - 但我仍然好奇如何找到主机系统的IP :) –

+0

/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

+0

@ Pluto1010。这在使用boot2docker时不起作用。 – foldl