我有一个ASP.NET Core
应用程序托管在Docker cloud
(云提供程序为Azure
)。应用程序使用Hangfire
在后台运行定期作业,其中一个作业需要从外部REST API请求数据。我注意到任何出站通信尝试都失败了,我想知道如何启用它。
部署由一些其他容器组成,其中链接的容器(服务)可以毫无问题地进行通信。没有特殊的网络配置;使用默认的“桥接”模式。我是否需要在容器的图像中配置某些内容,或者是否需要更改网络设置...我不知道。
答案 0 :(得分:2)
没有特殊的网络配置;默认的“桥接”模式 使用。
根据您的描述,您似乎正在使用VM并在其上运行docker。 如果要从Internet访问此docker,我们应将docker port映射到本地端口,例如:
root@jasonvms:~# docker run -i -t centos bash
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
d9aaf4d82f24: Pull complete
Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a
Status: Downloaded newer image for centos:latest
[root@75f92bf5b499 /]# ping www.google.com
PING www.google.com (172.217.3.100) 56(84) bytes of data.
64 bytes from lga34s18-in-f4.1e100.net (172.217.3.100): icmp_seq=1 ttl=47 time=7.93 ms
64 bytes from lga34s18-in-f4.1e100.net (172.217.3.100): icmp_seq=2 ttl=47 time=8.13 ms
64 bytes from lga34s18-in-f4.1e100.net (172.217.3.100): icmp_seq=3 ttl=47 time=8.15 ms
^C
--- www.google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 7.939/8.076/8.153/0.121 ms
[root@75f92bf5b499 /]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=51 time=1.88 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=51 time=1.89 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=51 time=1.86 ms
c64 bytes from 8.8.8.8: icmp_seq=4 ttl=51 time=1.87 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=51 time=1.78 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=51 time=1.87 ms
^C
--- 8.8.8.8 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5009ms
rtt min/avg/max/mdev = 1.783/1.861/1.894/0.061 ms
[root@75f92bf5b499 /]#
在我们将端口80映射到此VM之后,我们应该将入站规则添加到Azure 网络安全组(NSG),我们可以按照此article添加它。
此外,我们应该将端口80添加到 OS filewall 入站规则。
<强>更新强>:
很抱歉误解了。
这是我的测试,我在Azure VM(Ubuntu 16)上安装docker,然后创建一个centos docker,如下所示:
yajra\Datatables\DatatablesServiceProvider
我发现它可以与互联网社区联系,您能否向我显示有关您的问题的更多信息?
答案 1 :(得分:0)
如果您使用独立实例,则在network_security实例组中进行更改并允许出站规则, 如果使用ACS,请按照以下链接 https://docs.microsoft.com/en-us/azure/container-service/dcos-swarm/container-service-enable-public-access