Docker - görüntü işletim sistemi "pencereleri" bu platformda kullanılamaz


97

Bunu Windows 10 makinemde denedim:

Dockerfile:

From microsoft/nanoserver
CMD ["echo", "Hello World"]

PS

C:\FSD\Docker\Trial1> docker build -t lea/leatest .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM microsoft/nanoserver
latest: Pulling from microsoft/nanoserver
bce2fbc256ea: Pulling fs layer
58f68fa0ceda: Pulling fs layer
image operating system "windows" cannot be used on this platform

2
Görünüşe göre Docker ortamınız şu anda Windows kapsayıcılarını değil Linux kapsayıcılarını kullanacak şekilde ayarlanmış.
— Dan Lowe

Soru nedir?
— Peter Mortensen

Yanıtlar:


136

Docker ana bilgisayarınız, bir VM içinde Linux kapsayıcılarını çalıştıracak şekilde yapılandırılmıştır. Windows kapsayıcılarını çalıştırmak için Docker menüsünde "Windows kapsayıcılarına geç" yapmanız gerekir. Bununla ilgili belgeler burada mevcuttur .


Buraya resim açıklamasını girin

Buraya resim açıklamasını girin


1
Docker'da tamamen yeniyim ve benzer şekilde herkes için araç çubuğunda Docker ** mini ** simgesini bulmanız, sağ tıklayıp Docker menüsünde "Windows kapsayıcılarına geç" i seçmeniz gerekir. İşlemi tamamlamak için iş istasyonunuzu yeniden başlatmanız gerektiğini unutmayın.
— arame3333

1
Değeri ne olursa olsun, sadece Windows konteynerlerine geçtim ve yeniden başlatmaya veya başka bir şeye ihtiyacım yoktu. (Docker sürüm 17.12.0-ce, derleme c97c6d6)
— mat007

Aynı Windows 10 makinesinde aynı anda hem Windows hem de Linux kapsayıcılarını çalıştırabilir misiniz?
— styfle

@styfle Yukarıdakiler bir geçiştir, bir seferde yalnızca birini yapabilirsiniz. Her ikisini de aynı anda kullanabilmeniz için farklı çalışma zamanlarının seçilmesine
— BMitch

1
Windows'a docker yükledim Docker toolbox, sistem tepsisinde docker simgesi görmüyorum. Nasıl yapabilirim?
— paul

29

Görev Çubuğuna gitmeniz → Docker simgesine sağ tıklamanız → Windows kapsayıcılarına geç seçeneğini kullanmanız gerekir ...

Kaynak https://docs.docker.com/docker-for-windows/

Buraya resim açıklamasını girin


Windows'a docker yükledim Docker toolbox, sistem tepsisinde docker simgesi görmüyorum. Nasıl yapabilirim?
— paul

@paul Korkarım ki bu çözüm Windows için Docker için değil, Toolbox için. Sadece Windows için Docker eklemek, Arayüzle ilgili olarak Toolbox yerine önerilen bir yazılımdır (belirtilen Windows kapsayıcıları seçeneği gibi)
— pbaranski

Docker for Windowstercih edilir Docker Toolboxmi? Neden öyle?
— paul

@paul Sadece burada docker personel yanıtını aktarıyorum : forums.docker.com/t/docker-for-windows-or-docker-toolbox/30387 , çelişki için şu kaynağı ekleyeceğim: medium.com/short-stories-on- yazılım /… bu nedenle, kararınıza bağlı olarak karar
— vermelisiniz

6

microsoft/nanoserverbir Windows yerel kapsayıcı görüntüsüdür. Yani bunu linux kapsayıcıları yerel olarak çalıştığı için çalıştıramazsınız. Yalnızca Windows 10 veya Windows sunucusunda çalıştırılabilir.

Windows 10'daysanız, Windows kapsayıcılarına geçebilirsiniz.

Windows kapsayıcılarına geç


3

Sağ alttaki gizli simgenin altında çalışan docker simgesinden Windows Kapsayıcıya geç seçilmelidir ... Linux'tan Windows'a veya Windows'tan Linux'aDocker geçtiğiniz anda , arka plan programı , değiştirilmiş kapsayıcıyı dikkate almak için otomatik olarak yeniden başlar ...


Pencere kapsayıcılarının nasıl oluşturulacağı hakkında daha fazla bilgi edinmek için bu 2 bağlantıyı görüntülemenizi şiddetle tavsiye ederim:


Bu bağlantıların içeriğini gerçekten hepimizin karşı karşıya olduğu genel sorun için hala geliştirilmekte olan bir pencere konteyneri yapmak için çok yararlı buldum, çünkü pencere konteyneri desteği henüz Linux konteynerleri gibi olgunlaşmadı!


-1

Yalnızca Windows 10 gerekli değildir. Windows 10 Home kullanıyorum ve menüde "Windows Kapsayıcılarına Geç" gri renkte görünüyor. Vurgulu açılır pencere Win10 PRO veya Enterpriose yapı> = 14372 gerektirdiğini söylüyor

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.