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

Jak vytvořit Docker Image z kontejneru a Dockerfile

Docker je otevřený nástroj pro správu platforem pro Linux Containers. Poskytuje vývojářům a systémovým administrátorům prostředky k sestavování a balení aplikací do lehkých kontejnerů. Docker se skládá z následujících součástí:

  • Docker Engine – Přenosný, lehký běhový a balicí nástroj
  • Docker Hub – Cloudová služba pro sdílení aplikací a automatizaci pracovních postupů

Docker se používá k vytváření kontejnerů aplikací založených na obrázcích. Kontejnery založené na obrázcích zabalí aplikaci s jednotlivými runtime zásobníky do jednoho kontejneru. Díky tomu je kontejner nezávislý na hostitelském operačním systému a verzi jádra. Díky tomu můžete stejnou aplikaci beze změny provozovat na noteboocích, virtuálních strojích datových center a jakémkoli cloudu. Tento kontejner můžete přenést na jiný počítač, na kterém běží Docker, a spustit aplikaci bez jakýchkoli problémů s kompatibilitou.

Vytvoření obrázku z kontejneru

Aktuální stav kontejneru můžete uložit jako nový obrázek pomocí „docker commit “příkaz. To je užitečné, pokud jste upravili kontejner a chcete změny uložit do nového obrázku pro pozdější použití.

Příklad na snímku vytvoří nový kontejner s názvem „geeklab“ z obrázku centos:7 a spustí v kontejneru příkaz bash shell.

# docker run -i -t --name geeklab centos:7 /bin/bash
[root@873abc18f59d /]# 

Z kontejneru se k instalaci balíčku httpd použije příkaz yum.

[root@873abc18f59d /]# yum install httpd

K zastavení běžícího kontejneru použijte příkaz exit.

[root@873abc18f59d /]# exit
exit

Příkaz „docker commit“ uloží změny do nového obrazu. Použijte volbu -m k poskytnutí zprávy popisující změny. Použijte -a možnost poskytnout informace o autorovi. Zadejte ID kontejneru nebo název kontejneru, název obrázku a značku. Příklad:

# docker commit -m="CentOS 7 With httpd installed" -a "Geek Lab" geeklab centos7/httpd:v1
sha256:b3c42dd36e247cabcfaf134afb4765e9853ebfbe856c8d785f65cfafc9fd53cd

Výstup příkazu docker images nyní obsahuje nový obrázek.

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos7/httpd       v1                  b3c42dd36e24        20 seconds ago      334 MB

Vytvoření obrázku z Dockerfile

Pomocí příkazu docker build vytvořte nový obrázek z pokynů obsažených v souboru s názvem „Dockerfile “. Formát Dockerfile je:

# Comment
INSTRUCTION      arguments

Instrukce nerozlišuje velká a malá písmena, ale konvencí je psát velkými písmeny, aby se odlišila od argumentů. Docker spouští pokyny v Dockerfile v daném pořadí. Vytvoříte nový obrázek ze základního obrázku. První instrukce je FROM a určuje základní obrázek, který se má použít. Příklad:

FROM centos:7

Pomocí instrukce RUN zadejte příkazy, které se mají spustit v nové vrstvě nad aktuálním obrazem, a potvrďte výsledky. Příklad:

RUN yum –y install httpd

Instrukce ENTRYPOINT specifikuje příkaz, který kontejner vytvořený z obrazu spustí. Příklad:

ENTRYPOINT /usr/sbin/httpd –D FOREGROUND

Popis všech pokynů naleznete na manuálové stránce dockerfile. Následující URL také poskytuje popisy, použití a příklady všech dostupných pokynů pro Dockerfile:https://docs.docker.com/reference/builder/.

Uložte a načtěte obrázek nebo kontejner

Můžete vytvořit soubory tar obrázků a kontejnerů pro použití v systémech, které nemají přístup k Docker Hub. Použijte „uložení dokovací stanice ” pro uložení obrázků do souboru tar. Můžete buď uložit všechny obrázky v úložišti do souboru tar, nebo uložit konkrétní obrázek do souboru tar. Vytvořte soubor tar buď přesměrováním STDOUT do souboru tar, nebo použijte volbu -o k zadání názvu výstupního souboru tar.

Následující příklad přesměruje STDOUT k uložení všech obrázků v úložišti centos na centos-all.tar:

# docker save centos > centos-all.tar

Následující příklad uloží obrázek centos:latest do souboru centos-lates.tar.

# docker save -o=centos-latest.tar centos:latest

Pomocí příkazu docker load načtěte obrázek ze souboru tar do místního úložiště Docker. Následující příklad načte obrázky ze souboru centos-all.tar:

# docker load --input centos-all.tar
Průvodce pro začátečníky světem Docker


Docker
  1. Jak vytvářet, zobrazovat a mazat kontejnery Docker v systému Linux

  2. Extrahovat soubor z obrázku Dockeru?

  3. Jak použít Dockerfile k vytvoření Docker Image

  1. Jak zabalit a přenést obrazy Dockeru z jednoho serveru na druhý

  2. Jak se odpojit od dockerového kontejneru bez zastavení

  3. Jak vytvořit vlastní obrázek z kontejneru Docker

  1. Jak vytvořit Docker Image pomocí Dockerfile

  2. Jak zálohovat a obnovovat kontejnery Docker

  3. Jak pozastavit a obnovit kontejnery Docker