簡體   English   中英

如何為Docker容器啟用出站連接?

[英]How to enable outbound connections for a Docker container?

我有一個托管在Docker cloudASP.NET Core應用程序(雲提供商是Azure )。 該應用程序使用Hangfire在后台運行定期作業,其中一個作業需要從外部REST API請求數據。 我注意到任何出站通信嘗試都失敗了,我想知道如何啟用它。

部署由一些其他容器組成,其中鏈接的容器(服務)可以毫無問題地進行通信。 沒有特殊的網絡配置; 使用默認的“橋接”模式。 我是否需要在容器的映像中配置某些內容,或者是否需要更改網絡設置...我不知道。

沒有特殊的網絡配置; 使用默認的“橋接”模式。

根據您的描述,您似乎正在使用VM並在其上運行docker。 如果要從Internet訪問此docker,我們應該將docker port映射到本地端口,例如:

docker run -d -p 80:80 my_image service nginx start

在我們將端口80映射到此VM之后,我們應該將入站規則添加到Azure 網絡安全組 (NSG),我們可以按照這篇文章添加它。

我們還應該將端口80添加到OS filewall入站規則中。


更新

很抱歉誤會了。

這是我的測試,我在Azure VM(Ubuntu 16)上安裝docker,然后創建一個centos docker,如下所示:

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 /]# 

我發現它可以通過互聯網進行社區化,您能否向我顯示有關您的問題的更多信息?

如果您使用獨立實例,則在network_security實例組中進行更改並允許出站規則,如果使用ACS,請按照以下鏈接https://docs.microsoft.com/en-us/azure/container-service/dcos-swarm/container -SERVICE啟用公共訪問

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM