Přístavní dělník

Přístavní dělník
Typ bezplatný a open source software , virtualizační mechanismus [d] a formát popisu kontejneru [d]
Autor Solomon Hykes [d]
Vývojář dokovací stanice
Zapsáno v jít [1]
Operační systém Linux [2] , Microsoft Windows [3] , macOS [4] a operační systém podobný Unixu
První vydání 13. března 2013 [5]
Hardwarová platforma x86_64 , ARM [6] a IBM System/390
Nejnovější verze
Čitelné formáty souborů Dockerfile [d]
Vygenerované formáty souborů Dockerfile [d]
Licence Licence Apache 2.0 [8] [9] a proprietární
webová stránka docker.com
 Mediální soubory na Wikimedia Commons

Docker  je software pro automatizaci nasazení a správy aplikací v kontejnerizovaných prostředích , kontejner aplikací. Umožňuje „zabalit“ aplikaci se všemi jejími prostředími a závislostmi do kontejneru, který lze nasadit na jakýkoli systém Linux s podporou cgroups jádře , a také poskytuje sadu příkazů pro správu těchto kontejnerů. Zpočátku využíval možností LXC , od roku 2015 začal využívat vlastní knihovnu, která abstrahuje virtualizační možnosti linuxového jádra - libcontainer . S příchodem Open Container Initiative začal přechod od monolitické k modulární architektuře.

Je vyvinut a podporován stejnojmennou startupovou společností , distribuován ve dvou edicích – veřejné ( Community Edition ) pod licencí Apache 2.0 a pro organizace ( Enterprise Edition ) pod proprietární licencí [10] . Napsáno v jazyce Go .

Historie

Projekt začal jako interní proprietární vývoj dotCloud, který založil Solomon Hykes v roce 2008 s cílem vybudovat veřejnou platformu PaaS s podporou různých programovacích jazyků . Spolu s Hayksem se na počátečním vývoji významně podíleli inženýři dotCloud Andrea Luzzardi a François-Xavier Bourlet .

V březnu 2013 byl kód Docker uvolněn pod licencí Apache 2.0 [11] . V červnu 2013 byl Ben Golub , který dříve vedl Gluster (která vyvinula technologii distribuovaného úložiště GlusterFS a kterou Red Hat v roce 2011 získal za 136 milionů dolarů ) [12] , pozván jako generální ředitel dotCloud . V říjnu 2013, s důrazem na posun zaměření na novou klíčovou technologii, byl dotCloud přejmenován na Docker (zatímco platforma PaaS byla zachována pod dřívějším názvem - dotCloud).  

V říjnu 2013 byla vydána havanská verze replikované platformy OpenStack IaaS , která implementuje podporu Docker (jako ovladač pro OpenStack Nova). Od listopadu 2013 je částečná podpora pro Docker zahrnuta v distribuční sadě Red Hat Enterprise Linux verze 6.5 [13] a plná podpora ve 20. verzi distribuční sady Fedora , dříve byla uzavřena dohoda s Red Hat o zahrnutí Dockeru do replikovaná platforma OpenShift PaaS z roku 2014 [14] . V prosinci 2013 byla oznámena podpora pro nasazení kontejnerů Docker v prostředí Google Compute Engine [15] .

Od roku 2014 se pracuje na zahrnutí podpory Docker do prostředí správy distribuovaného aplikačního frameworku Hadoop ; podle výsledků testování možností virtualizační platformy pro Hadoop, provedených v květnu 2014, Docker vykázal výrazně vyšší výkon v hlavních operacích (při hromadném vytváření, restartování a ničení virtuálních uzlů) než KVM , zejména při testu hromadné vytváření virtuálních výpočetních uzlů, nárůst spotřeby procesorových zdrojů v Dockeru je zaznamenán 26krát nižší než u KVM a nárůst spotřeby RAM zdrojů  je třikrát nižší [16] .

Od roku 2017 je kromě volně distribuované edice produktu pod licencí Apache 2.0 vydána edice pro organizace, která se prodává za ceny od 750 do 2 000 $ za uzel ročně v závislosti na dostupných funkcích [10] .

Aplikace

Software běží v prostředí Linuxu s jádrem, které podporuje cgroups a izolaci jmenných prostorů ( jmenné prostory ); existují sestavení pouze pro platformy x86-64 a ARM [18] . Od verze 1.6 (duben 2015) je možné jej používat v operačních systémech rodiny Windows [19] .

Pro úsporu místa v úložišti projekt používá souborový systém Aufs s podporou technologie kaskádového připojení : kontejnery používají obraz základního operačního systému a změny se zapisují do samostatné oblasti. Podporuje také umístění kontejnerů na souborový systém Btrfs s povoleným kopírováním při zápisu .

Software zahrnuje démona kontejnerového  serveru (spouštěného příkazem docker -d ), klientské nástroje, které vám umožňují spravovat obrázky a kontejnery z rozhraní příkazového řádku , a rozhraní API , které vám umožňuje programově spravovat kontejnery ve stylu REST .

Démon poskytuje úplnou izolaci kontejnerů běžících na uzlu na úrovni souborového systému (každý kontejner má svůj vlastní kořenový souborový systém ), na úrovni procesu (procesy mají přístup pouze k vlastnímu souborovému systému kontejneru a zdroje jsou odděleny pomocí libcontainer ), na úrovni sítě (každý kontejner má přístup pouze k síťovému jmennému prostoru, který je s ním spojený, a k odpovídajícím virtuálním síťovým rozhraním).

Klientská sada nástrojů umožňuje spouštět procesy v nových kontejnerech ( docker run ), zastavovat a spouštět kontejnery ( docker stop a docker start ), pozastavovat a obnovovat procesy v kontejnerech ( docker pause a docker unpause ). Řada příkazů umožňuje sledovat běžící procesy ( docker ps , obdoba ps na unixových systémech , docker top , obdoba top a další). Nové obrázky lze vytvářet ze speciálního souboru skriptu ( docker build , soubor skriptu se nazývá Dockerfile ), všechny změny provedené v kontejneru je možné zapsat do nového obrázku ( docker commit ). Všechny příkazy mohou pracovat jak s démonem docker místního systému, tak s jakýmkoli serverem Docker dostupným v síti. Kromě toho má rozhraní příkazového řádku vestavěné funkce pro interakci s veřejným úložištěm Docker Hub , které hostí předpřipravené obrazy aplikací, například příkaz docker search umožňuje vyhledávat obrázky mezi těmi, které jsou v něm hostovány [20] , obrázky lze stáhnout do místního systému ( docker pull ), je také možné poslat lokálně vytvořené obrázky do Docker Hub ( docker push ).

Docker má také správce balíčků Docker Compose, který umožňuje popisovat a spouštět vícekontejnerové aplikace; konfigurační soubory pro něj jsou popsány v YAML .

Poznámky

  1. http://thenewstack.io/go-programming-language-helps-docker-container-ecosystem/
  2. https://docs.docker.com/engine/installation/linux/
  3. https://docs.docker.com/docker-for-windows/
  4. https://docs.docker.com/docker-for-mac/
  5. Schmidt J. Docker bekommt 15 Millionen Risikokapital  (německy) - heise online , 2014.
  6. Tsai T. https://www.docker.com/blog/getting-started-with-docker-for-arm-on-linux/ - 2019.
  7. Vydání v20.10.21
  8. https://github.com/docker/docker/blob/master/LICENSE
  9. LICENCE  _
  10. 12 Thomas Claburn . Docker vypadá jako velký byznys v očích: Nejste to vy, je to EE - Enterprise Edition . Přímo z příručky Red Hat : Vezměte si obrazy virtuálních počítačů a zaplaťte za podporu . The Register (3. března 2017) .  — „Docker rozšířil svou produktovou řadu přidáním dvou E, pro Enterprise Edition, verzi svého kontejnerového softwaru vyladěného podle požadavků podniků […] A samozřejmě existují úrovně s poplatky za podporu: Základní (750 $/rok) ; Standardní (1 500 USD/rok); a Advanced (2 000 $/rok)." Získáno 29. června 2017. Archivováno z originálu 1. července 2017.  
  11. Avram, Abel Docker : Automatizované a konzistentní nasazení softwaru  . InfoQ (27. března 2013). Získáno 3. května 2014. Archivováno z originálu 3. května 2014.
  12. Darrow, průkopnice Barb PaaS dotCloud získala nového generálního ředitele veterináře Bena Goluba . Bývalý generální ředitel společnosti Gluster říká, že PaaSes potřebují podporovat více zásobníků a prostředí – běžící v domě, veřejných cloudech,  kdekoli . GigaOM (23. července 2013) . Získáno 3. května 2014. Archivováno z originálu 3. května 2014.
  13. Sean Michael Kerner. Red Hat Enterprise Linux 6.5 přináší přesné načasování . Nové podnikové vydání Linuxu společnosti Red Hat debutuje s novými funkcemi zabezpečení, virtualizace a udržování času  (  nepřístupný odkaz - historie ) . eTýden (21. listopadu 2013) . Staženo: 3. května 2014.
  14. Williams, Alex Matrix of Hell a dva open-source projekty pro vznikající agnostický  cloud . TechCrunch (28. července 2013). Staženo 3. 5. 2014. Archivováno z originálu 24. 9. 2016.
  15. Frederick Lardinois. Compute Engine společnosti Google dosáhl všeobecné dostupnosti, snížil ceny instancí o 10 %, přidal 16jádrové instance a podporu dockerů  . TechCrunch (19. září 2013). Získáno 3. května 2014. Archivováno z originálu 2. května 2014.
  16. Jack Clark. Docker portován do Hadoop , protože benchmarky ukazují neuvěřitelně rychlý výkon . Zadavatelé kódu doufají, že bezbožné spojení technologií s otevřeným zdrojovým kódem zplodí rychlou  virtualizaci gonzalezu . The Register (2. května 2014) .  - "Na základě metrik využití prostředků výpočetního uzlu během testu balení sériového VM: Nárůst CPU Docker LXC je přibližně 26x nižší než KVM. Na tomto povrchu to znamená 26násobné zvýšení potenciálu hustoty z pohledu CPU pomocí dockeru LXC oproti tradičnímu hypervisoru. Růst paměti Docker LXC je přibližně 3x nižší než u KVM.". Získáno 3. května 2014. Archivováno z originálu 3. května 2014.
  17. Pethuru Rai; Jeeva S. Chelladhurai; Vinod Singh. Učící se Docker. - Packt Publishing, 2015. - 240 s. — ISBN 978-1-78439-793-7 .
  18. Nainstalujte Docker  . Docker dokumentace. Získáno 13. srpna 2017. Archivováno z originálu 13. srpna 2017.
  19. Docker 1.6: Engine & Orchestration Updates, Registry 2.0 a Windows Client Preview – Docker Blog  , Docker Blog (  16. dubna 2015). Archivováno z originálu 13. srpna 2017. Staženo 13. srpna 2017.
  20. Úložiště se nachází na adrese registry.hub.docker.com

Literatura

Odkazy