2017-04-18 92 views
0

我正在尝试使一些码头集装箱来容纳我的一些日常工具。但是我的很多工具都依赖于能够连接到设备(通过wifi)来提取数据。让码头集装箱连接到网络设备

我一直在做研究,并且相当困惑,试图了解需要做什么来支持这种情况。我知道通常码头集装箱是服务器而不是客户端。但我读过有关做相反事情的人。

我想弄清楚需要做什么样的更改/配置。

回答

1

默认情况下,搬运工人将像docker0接口的物理服务器上创建虚拟网络,也就是说在bridge模式,因此该接口可以通过你eth0连接互联网是物理系统接口和一切与你的本地和全球网络将通过eth0物理接口。

所以,如果你要访问互联网或本地网络正在运行的泊坞窗容器内比你要泊坞窗守护进程的启动过程中添加nameserver按你的物理系统/etc/resolv.conf文件。因此您使用物理系统访问的所有内容都可以通过码头集装箱访问。

在Docker容器启动过程中,您还需要公开端口,以便借助eth0界面可以从外部docker网络中获取数据。这些所有配置在iptables帮助下自动处理.docker将添加iptables rules并将流量从docker0转发到eth0,并且您的所有服务都能正常工作。

docker run -it --name "$container_name" -d -h "$host_name" -p 9080:9080 -p 1522:1522 "$image_name" 

所以在上述的情况下我的应用程序从oracle db与在网络中的另一个机器和应用上承载端口1522拉动数据完美地工作。通过-p 1522:1522它会发送请求到1522端口在物理机器和物理机器上发送这个请求到网络托管机器在相同的端口1522并发生所有的通信。

希望这会有道理。

谢谢!

+0

我会尽快给这个试试谢谢! – 165plo

+0

所以我很困惑的名称服务器。你有链接在Windows上配置这个?我以为-p打开连接到Docker容器的主机上的连接。这些是双向的吗? – 165plo

+0

在此链接中,您将通过'dns opts'获得docker配置https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-docker/configure-docker-daemon –