默认情况下,Docker将在您的物理服务器上创建一个虚拟网络。例如
docker0界面。这是在
bridge模式下发生的,它允许该接口通过您的
eth0设备连接到Internet
。
eth0是物理系统接口;与您的本地以及全球网络相关的所有内容都将通过
eth0物理接口传递。
如果要访问正在运行的Docker容器中的Internet或本地网络,则必须在docker守护程序启动期间
nameserver根据物理系统
/etc/resolv.conf文件进行添加。这样,您通常可以通过物理系统访问的所有内容都将可以通过docker容器访问。
还有一件事,您必须在启动docker容器时公开端口,以便它可以在该
eth0接口的帮助下从docker网络外部提取数据。在的帮助下,所有这些配置都会自动进行
iptables。Docker将添加
iptablesrules转发流量
docker0到
eth0的服务,您的服务将完美运行。
例
docker run -it --name "$container_name" -d -h "$host_name" -p 9080:9080 -p 1522:1522 "$image_name"
在上述情况下,我的应用程序正在
$host_name通过port 提取数据
1522。
-p1522:1522表示它将请求发送到
1522物理计算机上的端口,类似地,物理计算机会将请求发送到同一
1522端口上的网络托管计算机。”



