docker集装箱连接到networking设备

我正在尝试做一些docker集装箱来保存我的日常工具。 但是我的很多工具依赖于能够连接到设备(通过wifi)来提取数据。

我一直在做研究,而且很困惑,试图去理解为了支持这种情况,需要做些什么。 我知道通常docker集装箱是服务器而不是客户端。 但是我已经读到了相反的人。

我试图找出需要做什么样的更改/configuration。

默认情况下,docker将在你的物理服务器(如docker0接口)上创build虚拟networking,这是一种bridge模式,所以这个接口可以通过你的eth0 (物理系统接口)连接到互联网,与本地和全球networking有关的所有东西都将通过eth0物理接口。

因此,如果您想在运行的docker容器中访问Internet或本地networking,则必须在启动docker守护进程期间根据物理系统/etc/resolv.conf文件添加nameserver 。 所以你用物理系统访问的所有东西都可以通过docker container访问。

在Docker容器启动期间,您还需要公开一些端口,以便通过eth0接口可以从外部dockernetworking中获取数据。 这些所有configuration在iptables的帮助下自动处理.docker将添加iptables rules并将docker0stream量docker0eth0并且您的所有服务都能正常工作。

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

所以在上面的情况下,我的应用程序是从oracle db与端口1522托pipe在另一台机器在networking和应用程序完美工作。 通过-p 1522:1522将请求发送到物理机上的1522端口,物理机将此请求发送到同一个1522端口上的networking主机,并发生所有通信。

希望这是有道理的。

谢谢!