xpost dari https://forums.docker.com/t/cannot-connect-to-chocolatey-org/38745
Perilaku yang diharapkan
Saya menjalankan Windows Server 2016 Datacenter (unduhan MSDN) 64 bit - Versi 1607 - Build 14393.1715
Saya menggunakan Docker Untuk Windows dan menjalankan Wadah Windows.
Saya pikir ini adalah hal termudah di dunia, untuk melakukan ini:
reboot my host machine
docker run -it microsoft/windowsservercore
powershell
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'));
Harapannya adalah untuk menginstal cokelat di wadah.
Saya sebenarnya akan melakukan ini di dockerfile, tapi saya akan contoh kerja minimum untuk mendapatkan bantuan sekarang.
Inilah file buruh pelabuhan aktual yang gagal (sayangnya, tidak begitu kreatif)
FROM microsoft/windowsservercore
SHELL ["Powershell"]
ENV ChocolateyUseWindowsCompression false;
RUN iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'));
Perilaku yang sebenarnya
Hal pertama yang pertama: Saya menjalankan ini di VM Virtualbox. Semua hal lain yang saya ingin bekerja berfungsi, termasuk tetapi tidak terbatas pada: konektivitas dan pengujian jaringan internal, menjalankan sql server, layanan WCF yang berjalan melawan lingkungan yang menyusun docker saya, data kembali dengan benar. Semua hal yang saya harapkan dilakukan oleh sistem bekerja. Ini adalah langkah terakhir, sematkan: D. Fakta bahwa saya menjalankan ini di VirtualBox seharusnya tidak masalah, karena Hyper-V berfungsi dan semua mesin saya berfungsi seperti yang diharapkan. Saya pikir itu layak disebut.
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
Dari OS host saya (Server 2016) saya memiliki informasi ini:
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>
Informasi
Output DockerDebugInfo.ps1: https://gist.github.com/jcolebrand/170673e45bf8a659552f22f2071c30d6
Sistem Informasi
Menjalankan Windows Server Datacenter (unduhan MSDN) 64 bit - Versi 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
Jika, untuk alasan apa pun yang diabaikan ini penting, OS host harus diaktifkan. Saya melakukan ini di lingkungan dev satu-shot jadi tidak terlalu khawatir tentang mengaktifkan VM dulu. Saya tidak dapat memahami betapa pentingnya hal ini. Terutama karena yang lainnya "hanya bekerja".
Stop-Service docker; Get-ContainerNetwork | Remove-ContainerNetwork -Force; Start-Service docker
menyajikan beberapa masalah. tidak ada layanan yang ditemukan dengan nama buruh pelabuhan. tidak ditemukan jaringan kontainer dengan Get-ContainerNetworkJawaban:
Masalahnya tampaknya bahwa gambar Windows mengkonfigurasi DNS untuk pertama-tama menjadi gateway default dari antarmuka NAT, dan kemudian DNS dari mesin host. Pencarian DNS gagal terhadap resolver pertama dan akses eksternal.
Menambahkan
--dns 8.8.8.8
(atau resolver lokal Anda) ke CLI tampaknya mengatasi masalah tersebut.sumber
docker build --dns 8.8.8.8 -t choco .
tidak berhasil. Lalu saya menambahkan"dns": ["8.8.8.8"]
di daemon.json tidak bekerja.Karena komentar bersifat sementara, berikut adalah beberapa info untuk orang berikutnya yang mencoba menyelesaikan masalah ini. Silakan mengedit jawaban ini untuk memberikan rincian lebih lanjut, kecuali jika Anda seorang Docker untuk Windows pro, dalam hal ini tolong berikan jawaban yang lebih baik: D
Saya pergi untuk mendemonstrasikan masalah untuk grup IT saya setelah mengubah NIC saya pada VM saya menjadi bridged dan menambahkan adaptor thunderbolt saya. Karena ada sistem keamanan di sana, saya menyadari bahwa saya perlu menambahkan perangkat lunak keamanan ke VM saya, tetapi karena tidak bergabung ke domain, itu adalah masalah. Mengalihkannya kembali ke NAT pada adaptor wifi, dan kemudian akan mendemonstrasikan masalah di VM Windows 2016 saya entah bagaimana secara ajaib membuatnya mulai bekerja.
Jaringan yang sama. Konfigurasi VM yang sama. Perangkat lunak dan host yang sama, tidak ada perubahan apa pun yang dapat saya lacak.
Setelah memeriksa Get-ContainerNetwork atau Get-WinNat yang tidak menunjukkan apa-apa, saya benar-benar berada di ujung diagnosa saya. Mengubah adaptor NIC dan kemudian mengubahnya kembali rupanya menyebabkan sesuatu diatur ulang. Waktu yang baik
Jadi, saya tidak punya jawaban yang solid, tapi saya punya solusi yang baik untuk orang berikutnya yang terjebak di sepatu saya, yang, mengingat catatan jejak saya tentang pertanyaan dan jawaban StackExchange, akan menjadi saya. Tapi saya harap ini membantu Anda juga, penanya internet acak.
Dan pajak XKCD, bagi mereka yang tidak mungkin untuk memecahkan masalah.
sumber
ipconfig /flushdns
pada host windowsPada command prompt jalankan
ipconfig /all
dan cariDNS Servers
garis di output dengan sesuatu yang terlihat seperti alamat IP. Itu server DNS mesin host Anda.Edit
C:\ProgramData\Docker\config\daemon.json
dan tambahkandns
entri dengan alamat IP itu. Misalnya, jika Server DNS Anda adalah 192.10.0.2 dan 8.8.8.8 adalah DNS Google sebagai cadangan:Sekarang restart Docker Desktop dan URL jarak jauh dapat diselesaikan oleh Docker, baik saat build atau runtime.
Solusi ini datang dari Faithful Anere di https://medium.com/@faithfulanere/solved-docker-build-could-not-resolve-archive-ubuntu-com-apt-get-fails-to-install-anything-9ea4dfdcdcf2
sumber
Coba instruksi pemasangan dari https://chocolatey.org/install#completely-offline-install (bagian "Menginstal di belakang proxy"):
sumber