xpost von https://forums.docker.com/t/cannot-connect-to-chocolatey-org/38745
Erwartetes Verhalten
Ich verwende Windows Server 2016 Datacenter (MSDN-Download) 64-Bit - Version 1607 - Build 14393.1715
Ich verwende Docker für Windows und führe Windows-Container aus.
Ich denke, das ist die einfachste Sache der Welt, dies zu tun:
reboot my host machine
docker run -it microsoft/windowsservercore
powershell
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'));
Es wird erwartet, dass dies schokoladig in den Behälter eingebaut wird.
Ich werde dies tatsächlich in einer Docker-Datei tun, aber ich werde ein minimales Arbeitsbeispiel verwenden, um jetzt Hilfe zu erhalten.
Hier ist eine aktuelle Docker-Datei, die fehlschlägt (leider nicht so kreativ)
FROM microsoft/windowsservercore
SHELL ["Powershell"]
ENV ChocolateyUseWindowsCompression false;
RUN iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'));
Tatsächliches Verhalten
Das Wichtigste zuerst: Ich führe dies in einer Virtualbox-VM aus. Alles andere, was ich arbeiten möchte, funktioniert, einschließlich, aber nicht beschränkt auf: interne Netzwerkkonnektivität und -tests, SQL Server-Ausführung, WCF-Dienste, die in meiner Docker-Compose-Umgebung ausgeführt werden, Daten, die korrekt zurückgegeben werden. Alle Dinge, die ich vom System erwarte, funktionieren. Dies ist der letzte Schritt, Daumen drücken: D. Die Tatsache, dass ich dies in VirtualBox ausführe, sollte keine Rolle spielen, da Hyper-V funktioniert und alle meine Computer wie erwartet funktionieren. Ich denke nur, dass es erwähnenswert ist.
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
Von meinem Host-Betriebssystem (Server 2016) habe ich folgende Informationen:
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>
Information
DockerDebugInfo.ps1-Ausgabe: https://gist.github.com/jcolebrand/170673e45bf8a659552f22f2071c30d6
System Information
Ausführen des Windows Server-Datencenters (MSDN-Download) 64-Bit - Version 1607 - Build 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
Wenn dies aus irgendeinem Grund wichtig ist, muss das Host-Betriebssystem aktiviert werden. Ich mache dies in einer One-Shot-Entwicklungsumgebung und war daher noch nicht besonders besorgt über die Aktivierung der VM. Ich kann mir nicht vorstellen, wie wichtig das ist. Zumal alles andere "einfach funktioniert".
Stop-Service docker; Get-ContainerNetwork | Remove-ContainerNetwork -Force; Start-Service docker
wirft ein paar Probleme auf. Kein Dienst mit Name Docker gefunden. Mit Get-ContainerNetworkAntworten:
Das Problem scheint zu sein, dass die Windows-Images DNS so konfigurieren, dass es zuerst das Standardgateway der NAT-Schnittstelle und dann das DNS des Hostcomputers ist. DNS-Lookups schlagen für diesen ersten Resolver und externen Zugriff fehl.
Das Hinzufügen
--dns 8.8.8.8
(oder Ihres lokalen Resolvers) zur CLI scheint das Problem zu umgehen.quelle
docker build --dns 8.8.8.8 -t choco .
hat nicht funktioniert. Dann habe ich"dns": ["8.8.8.8"]
in daemon.json hinzugefügt, hat nicht funktioniert.Da Kommentare nur vorübergehend sind, finden Sie hier einige Informationen für die nächste Person, die versucht, dieses Problem zu lösen. Sie können diese Antwort jederzeit bearbeiten, um weitere Details bereitzustellen, es sei denn, Sie sind Docker für Windows Pro. In diesem Fall geben Sie bitte eine bessere Antwort: D.
Ich habe das Problem für meine IT-Gruppe vorgeführt, nachdem ich meine Netzwerkkarte auf meiner VM auf Bridged geändert und meinen Thunderbolt-Adapter hinzugefügt hatte. Da Sicherheitssysteme vorhanden sind, wurde mir klar, dass ich die Sicherheitssoftware zu meiner VM hinzufügen musste, aber da sie nicht zur Domäne gehört, war dies ein Problem. Wenn Sie es über den WLAN-Adapter wieder auf NAT umstellen und dann das Problem in meiner Windows 2016-VM testen, funktioniert es auf magische Weise.
Gleiches Netzwerk. Gleiche VM-Konfiguration. Gleiche Software und Host, keine Änderungen an irgendetwas, das ich verfolgen kann.
Nachdem ich Get-ContainerNetwork oder Get-WinNat überprüft hatte und nichts angezeigt hatte, war ich wirklich am Ende der Diagnose. Das Ändern dieses NIC-Adapters und das anschließende Zurückwechseln führten anscheinend dazu, dass etwas zurückgesetzt wurde. Gute Zeiten.
Ich habe also keine solide Antwort, aber ich habe eine gute Lösung für die nächste Person, die in meinen Schuhen steckt. Angesichts meiner Erfolgsbilanz bei Fragen und Antworten zu StackExchange bin ich es. Aber ich hoffe, es hilft dir auch, zufälliger Internet-Fragesteller.
Und eine XKCD-Steuer für diejenigen, die Probleme nicht lösen können.
quelle
ipconfig /flushdns
auf dem Windows-Host zu versuchenFühren Sie an einer Eingabeaufforderung aus
ipconfig /all
und suchen SieDNS Servers
in der Ausgabe nach einer Zeile mit einer IP-Adresse. Das sind die DNS-Server Ihres Host-Computers.Bearbeiten
C:\ProgramData\Docker\config\daemon.json
Sie einendns
Eintrag mit dieser IP-Adresse und fügen Sie ihn hinzu . Wenn Ihr DNS-Server beispielsweise 192.10.0.2 und 8.8.8.8 als DNS von Google als Backup lautet:Starten Sie nun Docker Desktop neu und die Remote-URLs können von Docker entweder zur Erstellung oder zur Laufzeit aufgelöst werden.
Diese Lösung kam von Faithful Anere unter https://medium.com/@faithfulanere/solved-docker-build-could-not-resolve-archive-ubuntu-com-apt-get-fails-to-install-anything-9ea4dfdcdcf2
quelle
Versuchen Sie es mit Installationsanweisungen unter https://chocolatey.org/install#completely-offline-install (Abschnitt "Installation hinter einem Proxy"):
quelle