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 .
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] .
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 .
![]() | |
---|---|
Foto, video a zvuk | |
Tematické stránky |