Konteynerden chocolatey.org veya başka bir internet sitesine bağlanamıyor


12

https://forums.docker.com/t/cannot-connect-to-chocolatey-org/38745 adresinden xpost

Beklenen davranış

Windows Server 2016 Datacenter'ı çalıştırıyorum (MSDN indir) 64 bit - Sürüm 1607 - Derleme 14393.1715

Windows için Docker kullanıyorum ve Windows Kapsayıcılar çalıştırıyorum.

Bunun dünyadaki en kolay şey olduğunu düşünüyorum, bunu yapmak için:

reboot my host machine
docker run -it microsoft/windowsservercore
powershell
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'));

Bunun çikolataya kabın içine yerleştirilmesi beklentisi.

Aslında bunu bir dockerfile'da yapacağım, ama şu anda yardım almak için minimum çalışma örneğine gidiyorum.

İşte başarısız olan gerçek bir docker dosyası (ne yazık ki çok yaratıcı değil)

FROM microsoft/windowsservercore

SHELL ["Powershell"]

ENV ChocolateyUseWindowsCompression false;
RUN iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'));

Gerçek davranış

İlk önce: Bunu bir Virtualbox VM'de çalıştırıyorum. Çalışmak istediğim diğer her şey dahil ancak bunlarla sınırlı olmamak üzere çalışıyor: dahili ağ bağlantısı ve testleri, sql sunucusu çalışıyor, docker-compose ortamımla çalışan WCF hizmetleri, veriler doğru bir şekilde geri geliyor. Sistemin yapmasını beklediğim her şey çalışıyor. Bu son adım, parmaklar geçti: D. Bunu VirtualBox'ta çalıştırıyorum, Hyper-V çalışıyor ve tüm makinelerim beklendiği gibi çalışıyor. Sadece bahsetmeye değer olduğunu düşünüyorum.

docker run -it microsoft/windowsservercore
powershell
PS C:\> iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
Exception calling "DownloadString" with "1" argument(s): "The remote name could not be resolved: 'chocolatey.org'"
At line:1 char:1
+ iex ((new-object net.webclient).DownloadString('https://chocolatey.or ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException

PS C:\> ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : 339189e8dd56
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : attlocal.net

Ethernet adapter vEthernet (Container NIC 6412b757):

   Connection-specific DNS Suffix  . : attlocal.net
   Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #4
   Physical Address. . . . . . . . . : 00-15-5D-80-E9-2C
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::a51b:820e:e45d:fab6%29(Preferred)
   IPv4 Address. . . . . . . . . . . : 172.22.202.147(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . : 172.22.192.1
   DNS Servers . . . . . . . . . . . : 172.22.192.1
                                       10.0.2.2
   NetBIOS over Tcpip. . . . . . . . : Disabled

Ana bilgisayar işletim sistemimden (Server 2016) şu bilgiler var:

PS C:\docker> ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : WIN-CDPNLUMSTOE
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : attlocal.net

Ethernet adapter vEthernet (HNS Internal NIC) 2:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #2
   Physical Address. . . . . . . . . : 00-15-5D-80-E5-17
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::5939:52e7:aaf3:5b70%9(Preferred)
   IPv4 Address. . . . . . . . . . . : 172.22.192.1(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 301995357
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-21-4E-0C-48-08-00-27-51-5F-6A
   DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter vEthernet (HNS Internal NIC) 3:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #3
   Physical Address. . . . . . . . . : 00-15-5D-B6-45-8D
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::1de4:bff7:36fb:ee92%13(Preferred)
   IPv4 Address. . . . . . . . . . . : 172.23.128.1(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . :
   DHCPv6 IAID . . . . . . . . . . . : 570430813
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-21-4E-0C-48-08-00-27-51-5F-6A
   DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
                                       fec0:0:0:ffff::2%1
                                       fec0:0:0:ffff::3%1
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : attlocal.net
   Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Desktop Adapter
   Physical Address. . . . . . . . . : 08-00-27-51-5F-6A
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::10de:923b:b866:221d%4(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.0.2.15(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Friday, August 19, 1881 6:47:42 PM
   Lease Expires . . . . . . . . . . : Tuesday, September 26, 2017 11:15:59 PM
   Default Gateway . . . . . . . . . : 10.0.2.2
   DHCP Server . . . . . . . . . . . : 10.0.2.2
   DHCPv6 IAID . . . . . . . . . . . : 50855975
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-21-4E-0C-48-08-00-27-51-5F-6A
   DNS Servers . . . . . . . . . . . : 10.0.2.2
   NetBIOS over Tcpip. . . . . . . . : Enabled

Tunnel adapter isatap.{C420BD56-5715-49BF-9382-5EA99AA48563}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #5
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter isatap.{70EA4F39-FE0F-4040-B718-ACAC00765808}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #6
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter isatap.attlocal.net:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : attlocal.net
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #7
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
PS C:\docker>

Bilgi

DockerDebugInfo.ps1 çıktısı: https://gist.github.com/jcolebrand/170673e45bf8a659552f22f2071c30d6

Sistem bilgisi

Windows Server Datacenter'ı Çalıştırma (MSDN indir) 64 bit - Sürüm 1607 - Derleme 14393.1715

PS C:\docker> docker version
Client:
 Version:      17.06.2-ce
 API version:  1.30
 Go version:   go1.8.3
 Git commit:   cec0b72
 Built:        Tue Sep  5 19:57:19 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.06.2-ce
 API version:  1.30 (minimum version 1.24)
 Go version:   go1.8.3
 Git commit:   cec0b72
 Built:        Tue Sep  5 19:59:47 2017
 OS/Arch:      windows/amd64
 Experimental: true

Unutulan herhangi bir nedenden dolayı bu önemliyse, ana işletim sisteminin etkinleştirilmesi gerekir. Bunu tek seferlik geliştirici bir ortamda yapıyorum, bu yüzden henüz VM'yi etkinleştirmekten endişe etmedim. Bunun ne kadar önemli olduğunu anlayamıyorum. Özellikle her şey "sadece işe yaradığı için".


Benzer bir sorun var gibi görünüyor burada github.com/docker/for-win/issues/427 Docker hizmetini durdurmayı ve başlatmayı deneyin.
PrestonM

1
Teşekkürler @PrestonM Bunu birçok kez yaptım. Ve bilgisayarı yeniden başlattı. Ve get-netnat | remove-netnat
jcolebrand

koşu Stop-Service docker; Get-ContainerNetwork | Remove-ContainerNetwork -Force; Start-Service dockerbirkaç sorun sunuyor. docker adında hizmet bulunamadı.
-Tec

komutu nereden çalıştırıyorsun? Virtualbox veya Windows Server?
PrestonM

1
@PrestonM Biraz karıştı. Kurulumumu tekrar özetleyeyim: OSX Ana Bilgisayarı -> VirtualBox -> Windows Server 2016 -> Windows için Docker -> kapsayıcısı. Yığın tümü Hyper-V katmanlarında çalışıyor ve uygulamalar ile yerel bir veritabanı örneği (microsoft / mssql-server-windows-developer) arasındaki dahili ağ iletişimi de dahil olmak üzere kaplarımda istediğim her şeyi yapabilirim, böylece istediğim her şey yapmak iyidir. Komutlar kapsayıcı üzerinde bir powershell terimiyle verilir. Server2016 internet cezasına erişebilir.
jcolebrand

Yanıtlar:


6

Sorun, Windows görüntülerinin DNS'yi önce NAT arabiriminin varsayılan ağ geçidi ve ardından ana makinenin DNS'si olarak yapılandırmasıdır. DNS aramaları bu ilk çözümleyici ve harici erişime karşı başarısız olur.

CLI'ye --dns 8.8.8.8(veya yerel çözümleyicinize) ekleme sorunu çözüyor gibi görünüyor.


Bu harika. Bunu çözüm için kimler biriktirebilir? : D
jcolebrand

@jcolebrand Merhaba, ben de aynı sorunla karşı karşıyayım. Kurumsal proxy yapılandırmam var. Bu dns yapılandırmasını nereye eklememiz gerekiyor? Daemon.json'da mı?
user2301

Bu cevapta belirtildiği gibi komutu denediniz mi?
jcolebrand

@jcolebrand ile docker build --dns 8.8.8.8 -t choco .çalışmadı. Sonra "dns": ["8.8.8.8"]daemon.json çalışmadı ekledi .
user2301 9:18

1
Dns bayrağının inşa edilmediğini mi sanıyordum?
jcolebrand

2

Yorumlar geçici olduğundan, bu sorunu çözmeye çalışan bir sonraki kişi için bazı bilgiler. Daha fazla ayrıntı sağlamak için lütfen bu yanıtı düzenlemek için çekinmeyin, Docker for Windows pro değilseniz, bu durumda lütfen daha iyi bir cevap verin: D

Sanal makinemdeki NIC'mi köprülenip yıldırım adaptörünü ekledikten sonra BT grubumun sorununu göstermeye gittim. Mevcut güvenlik sistemleri olduğundan, güvenlik yazılımını VM'ime eklemem gerektiğini fark ettim, ancak etki alanına katılmadığı için bu bir sorundu. Wifi bağdaştırıcısında NAT'a geri dönüp, Windows 2016 VM'imdeki sorunu gösterecek bir şekilde sihirli bir şekilde çalışmaya başladı.

Aynı ağ. Aynı VM yapılandırması. Aynı yazılım ve ev sahibi, izleyebileceğim hiçbir şey yok.

Get-ContainerNetwork veya Get-WinNat'a hiçbir şey göstermediğini kontrol ettikten sonra, gerçekten teşhisimin sonundaydım. Bu NIC bağdaştırıcısını değiştirmek ve sonra geri değiştirmek, bir şeyin sıfırlanmasına neden oldu. İyi zamanlar.

Yani, sağlam bir cevabım yok, ama benim ayakkabılarımda sıkışan bir sonraki kişi için iyi bir geçici çözüm var, bu da StackExchange soruları ve cevapları sicil kaydı bana ait olacak. Ama umarım size de yardımcı olur, rastgele internet askerleri.


Ve bir XKCD vergisi, sorunları çözmek imkansız olanlar için.

"Eskilerin Bilgeliği" XKCD Komik Bağlantı


1
Bu açıklamaya göre, Windows da olumsuz isteği önbelleğe almak için bu tür bir fikre sahip olduğundan, ağ yığınının kapatılması / kapatılmamasıyla temizlenen bir DNS önbelleğine bir fatura koymak istedim. Tekrar olursa ipconfig /flushdns, Windows ana bilgisayarında denemeye değer olabilir
Tensibai 28:17

Eklemek istedim, bu durumda ana OSX, her şeyi barındıran temel OS demek. Docker konteynerini nerede çalıştırdığımı kastediyorsanız, bu pencereler.
jcolebrand

Windows host demek, hatırlamıyorum * nix tabanlı ağ yığınları olumsuz sorguları önbelleğe alma
Tensibai

1

Komut isteminde çalıştırın ipconfig /allve DNS Serversçıktıda bir IP adresine benzeyen bir satır arayın . Bu, ana makinenizin DNS sunucularıdır.

Düzenleme C:\ProgramData\Docker\config\daemon.jsonve eklemek dnso IP adresini içeren girişi. Örneğin, DNS Sunucunuz 192.10.0.2 ve 8.8.8.8 Google'ın yedek olarak DNS'si ise:

{
    "dns": ["192.10.0.2", "8.8.8.8"]
}

Şimdi Docker Desktop'ı yeniden başlatın ve uzak URL'ler derleme veya çalışma zamanında Docker tarafından çözülebilir.

Bu çözüm, https://medium.com/@faithfulanere/solved-docker-build-could-not-resolve-archive-ubuntu-com-apt-get-fails-to-install-anything-9ea4dfdcdcf2 adresindeki Faithful Anere'den geldi.


-1

Https://chocolatey.org/install#completely-offline-install adresindeki kurulum talimatlarını deneyin ("Proxy arkasına yükleme" bölümü):

    @powershell -NoProfile -ExecutionPolicy Bypass -Command "[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

1
Burada farklı bir soruya cevap veriyorsunuz, soru konteynırın internet adreslerini neden çözemediğidir
Tensibai
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.