Docker'ın vmware'in içinde çalışmasını sağlamak mümkün mü?


25

Geliştirme ihtiyaçlarım için vmware iş istasyonu çalıştırıyorum ve farklı ortamlar için farklı sanal makineleri korumak zorundayım.

Docker, kaplarda farklı ortamların çalışmasına izin veriyor gibi görünüyor.

  1. Windows 10 x64 VM'imin içinde docker'ı çalıştırabilir ve kodumu geliştirmek, oluşturmak ve test etmek için farklı resimler ve kaplar kullanabilir miyim? (Docker VirtualBox kullanırken geliştirici ortamımı VMware Workstation'da çalıştırdığımı unutmayın)

  2. Nasıl bu benim app (kod + veritabanı + web api + .....) üretime almak / almak? Üretim makinesinin docker'ı iyi çalıştırması gerekiyor mu?

Lütfen açıklığa yardımcı olun.

Güncelleme

VMWare ile VMWare iş istasyonu pro demek istiyorum.

Yanıtlar:


15

Evet , Docker'ı bir VM'de çalıştırmak tamamen mümkündür. Docker hafif bir sanallaştırma çözümüdür, donanımı sanallaştırmaz, böylece iç içe geçmiş sanal makineler için tipik sorunlardan etkilenmezsiniz.

Bağlantı noktası bağlama biraz zor olabilir, çünkü VMware'deki dev-env VM'nizi bir şekilde VirtualBox'ta Docker VM'ye bağlamanız gerekir.

Ana makinenin klasörlerini bir Docker kapsayıcısındaki bir hizmete maruz bırakmak istiyorsanız da sorun yaşayabilirsiniz. Windows'un dosya sistemleri, izin ayrıntı düzeyi açısından Linux'la karşılaştırıldığında sınırlıdır ve bazı hizmetler bundan hoşlanmaz. (bu sorun Docker'a özgü değildir)

Genel olarak, uygulamanız üretimde Docker'a kilitlenmez. Liman hizmetleri, dünya ile ağ üzerinden iletişim kurar, normal hizmetlerin genellikle yaptığından farklı değildir. Ancak, Docker (veya daha genel olarak bulut) göz önünde bulundurularak tasarlanan bir uygulama, arızalara karşı daha dayanıklı ve bakımı daha kolay olabilir.


6

Bu blog, Windows'ta Docker'ın VMWare Workstation ile nasıl kullanılacağından bahsediyor. Windows 7'yi bile kullanabilirsiniz.

https://stefanscherer.github.io/yes-you-can-docker-on-windows-7/

İlk olarak Windows için Chocolatey paket yöneticisini kurun (bu tek satırlık bir komuttur)

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

ardından VMWare iş istasyonunu kullanmak için Docker'ı yükleyin

choco install -y docker  
choco install -y docker-machine  
choco install -y docker-machine-vmwareworkstation  

Varsayılan bir vm oluşturma

docker-machine --native-ssh create -d vmwareworkstation default  

Ortam değişkenlerinizi ayarlayın

docker-machine env | iex

Artık başlamaya hazırsınız.


Mükemmel! Bunu paylaştığın için teşekkürler. Not: Son satır, cmd'de çalışacak "| iex" olmadan PowerShell içindir
Dmitry Gusarov

: Chocolatey bu başlangıç noktası bir güzel, benim için yeni hanselman.com/blog/...
ccook

1
Başkasının bağlantıyı okumadan bunu denemesi durumunda "Varsayılan bir vm oluştur" komutu şöyle olmalıdır: docker-machine --native-ssh create -d vmwareworkstation default(Not eksik "-")
Neil

2
  1. Evet, docker'ı Windows üzerinde çalıştırabilirsiniz. VMWare üzerinde Windows da çalışır. Docker'ı VMWare üzerindeki Linux sunucularında çalıştırıyoruz.
  2. En zeki olanı, üretim makinenizde liman işçisine sahip olmaktır, ancak verilerinizi kaplardan kopyalamak mümkün olacaktır. Yine de tavsiye etmiyorum. Docker görüntülerinizi dosyalara kaydetmek için
    kullanabilirsiniz docker save.
    Aynı kapsayıcı içinde birkaç uygulamanın çalıştırılmasının önerilmediğini ve kaplarınızın içinde veri depolamanız önerilmez, bunun için birimler kullanmanız gerektiğini belirtmek gerekir.

Cevabınız için teşekkür ederiz ama lütfen açıklayın "VMWare üzerinde Windows da çalışıyor" dediniz ama "VMWare üzerinde Docker da çalışıyor" mu demek istediniz?
Hamza Ahmed Zia

@HamzaAhmedZia "VMWare" Tam olarak nedir? ESXi? İş İstasyonu? Net olun ve sorunuzu düzenleyin. İş istasyonu yalnızca Linux ve Windows'ta bulunur.
Ramhound

@Ramhound Yani İş İstasyonu. Güncel soru
Hamza Ahmed Zia

@HamzaAhmedZia, iş istasyonu bağlamında, bu cevabın yazarı, Docker'ı bir Windows VMWare Workstation VM'sinde çalıştırabileceğinizi gösteriyor.
Ramhound

@Mikael Verileri konteynırlardan kopyalamayı önermediğinizi söylediğiniz için üretime nakliye öneriniz nedir?
Hamza Ahmed Zia

0

Docker ana bilgisayarı (Linux veya Windows) arasında büyük bir fark vardır:

Vmware Workstation'daki (fiziksel Windows'unuzda) Windows docker ana bilgisayarında, iç içe bir HyperV Linux VM'niz var! Bu büyük bir sorun değil, sadece iç içe sanallaştırmayı etkinleştirmeye dikkat edin.

François


Windows için Docker'ı Windows Container modunda çalıştırıp LCoW'yi yan yana kullanıyorsanız, HyperV VM'yi barındıran Windows ile ilgili bu nokta yanlıştır. Başka sorunları var, ancak Docker'ın ana işletim sistemine dayalı agnostisizmiyle ilgili bağlantılı makaleler duruşu, en iyi olarak Moby Project'in Win 10'daki Windows konteyner tabanlı docker ile nereye gittiğine bağlı olarak kısa görüşlü. kanayan kenar hala kan çekiyor ve sadece ön kenarın tehlike seviyesine kadar desteklenmiyor. Bu noktada, günlük bir sürücü olarak hazır olana kadar altı ay daha görünüyor.
Tetsujin no Oni

0

Docker konteynırlarını çalıştırmak liman bağlama problemleri getiriyor ..!

Docker'ı Sanal makinenin içinde çalıştırmak iyi bir uygulamadır ... Referansınız için mimari

Ana Bilgisayar İşletim Sistemi -> VirtualMachine -> Hipervizör -> Sunucu İşletim Sistemi -> Docker

Bu iyi bir uygulama mı? :)

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.