GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Kontejnery Docker a Linux na Windows, s virtuálními stroji Hyper-V nebo bez nich

Kontejnery jsou krásné, pokud jste to neslyšeli. Představují pěkný a čistý způsob, jak získat spolehlivé a zaručené nasazení, bez ohledu na hostitelský systém.

Pokud chci spustit svou aplikaci ASP.NET Core, stačí zadat do příkazového řádku „docker run -p 5000:80 shanselman/demos“ a spustí se! Nemám obavy, že to nepůjde. Poběží a poběží dobře.

Někteří odpůrci kontejnerů říkají, jistě, totéž bychom mohli udělat s virtuálními stroji, ale i dnes je VHD (virtuální pevný disk) poněkud neposlušná věc a zahrnuje spoustu režie, kterou kontejner nemá. Kontejnery se dějí a měli byste je pečlivě sledovat pro svá nasazení.

Historicky však na Windows běží Linuxové kontejnery uvnitř virtuálního počítače Hyper-V. To může být dobrá nebo špatná věc, v závislosti na tom, jaké jsou vaše cíle. Spuštění kontejnerů uvnitř virtuálního počítače vám poskytuje významnou izolaci s určitou režií. To je dobré pro servery, ale méně pro můj notebook. Docker pro Windows virtuální počítač z větší části skrývá, ale je tam. Váš kontejner běží uvnitř virtuálního počítače s Linuxem, který běží v rámci Hyper-V ve vlastním Windows.

S nejnovější verzí Windows 10 (nebo 10 Server) a beta verzí Dockeru pro Windows je k dispozici nativní podpora Linux Container ve Windows. To znamená, že není zapojen žádný virtuální stroj nebo Hyper-V (pokud nechcete), takže Linux Containers běží na samotném Windows pomocí integrované podpory kontejnerů Windows 10.

Prozatím musíte přepínat „režimy“ mezi Hyper V a nativními kontejnery a nemůžete (zatím) spustit kontejnery Linux a Windows vedle sebe. Mluví se o tom, že jde jen o momentální věc a že Docker bude v určitém okamžiku podporovat paralelní běh Linuxu a Windows Containers. To je docela milé, protože to otevírá všechny druhy skvělých hybridních scénářů. Mohl bych spustit kontejner Windows Server s aplikací .NET Framework ASP.NET, která komunikuje s kontejnerem Linux se systémem Redis nebo Postgres. Mohl bych je pak všechny vložit do Kubernetes například v Azure.

Jakmile v Dockeru zapnu Linuxové kontejnery ve Windows, vše funguje a má o jednu pohyblivou část méně.

Mohu snadno a rychle spustit busybox nebo skutečné Ubuntu (ačkoli Windows 10 již podporuje Ubuntu nativně s WSL):

Ještě užitečnější je spouštět příkazový řádek Azure bez instalace! Stačí "docker run -it microsoft/azure-cli" a běží v linuxovém kontejneru.

Můžu dokonce provozovat nyancat! (Díky Thomasi!)

docker run -it supertest2014/nyan

Spekulace – těším se na den, kdy budu moci spustit „minikube start --vm-driver="windows" (nebo tak něco) a snadno lokálně nastavit vývojový systém Kubernetes pomocí nativní podpory Windows Linux Container, nikoli pomocí virtuálních strojů Hyper-V , pokud se rozhodnu.

Sponzor: Proč přijít o správu verzí vaší databáze? Je to jednodušší, než si myslíte, protože SQL Source Control propojuje vaši databázi se stejnými nástroji pro správu verzí, jaké používáte pro aplikace. Zjistit jak.

Docker
  1. Spusťte kontejnery na Linuxu bez sudo v Podman

  2. Co je Docker (a Linux kontejnery?)

  3. Úvod do Docker Containers

  1. Porttainer:Snadno použitelné gui pro spouštění a získávání kontejnerů dokovacích stanic

  2. Jak nainstalovat Docker a spustit kontejnery Docker v Ubuntu

  3. Snadno spusťte software Windows na Linuxu pomocí Bottles

  1. Monitorování hostitelů Linux a Windows pomocí Glances

  2. Jak nainstalovat Ubuntu na Windows s Hyper-V

  3. Quickemu – Spusťte virtuální stroje Windows, MacOS a Linux