GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat a používat Docker na CentOS 7

Docker je technologie kontejnerizace, která vám umožňuje rychle vytvářet, testovat a nasazovat aplikace jako přenosné, soběstačné kontejnery, které lze spustit prakticky kdekoli.

V tomto tutoriálu si projdeme, jak nainstalovat Docker CE na CentOS 7, a prozkoumáme základní koncepty a příkazy Dockeru.

Předpoklady #

Než budete pokračovat v tomto kurzu, ujistěte se, že jsou splněny následující předpoklady:

  • Server CentOS 7
  • Jste přihlášeni jako uživatel bez oprávnění root s právy sudo. Podívejte se na tuto příručku o tom, jak vytvořit nového uživatele sudo.

Instalovat Docker na CentOS #

Přestože je balíček Docker dostupný v oficiálním úložišti CentOS 7, nemusí se vždy jednat o nejnovější verzi. Doporučený přístup je nainstalovat Docker z úložišť Dockeru.

Chcete-li nainstalovat Docker na server CentOS 7, postupujte podle následujících kroků:

  1. Začněte aktualizací systémových balíčků a nainstalujte požadované závislosti:

    sudo yum updatesudo yum install yum-utils device-mapper-persistent-data lvm2
  2. Dále spusťte následující příkaz, který do vašeho systému přidá stabilní úložiště Docker:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  3. Nyní, když je povoleno úložiště Docker, nainstalujte nejnovější verzi Docker CE (Community Edition) pomocí yum zadáním:

    sudo yum install docker-ce
  4. Jakmile je balíček Docker nainstalován, spusťte démona Docker a povolte jeho automatické spouštění při spouštění:

    sudo systemctl start dockersudo systemctl enable docker
  5. Chcete-li ověřit, zda je služba Docker spuštěna, zadejte:

    sudo systemctl status docker

    Výstup by měl vypadat nějak takto:

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: active (running) since Wed 2018-10-31 08:51:20 UTC; 7s ago
         Docs: https://docs.docker.com
     Main PID: 2492 (dockerd)
       CGroup: /system.slice/docker.service
               ├─2492 /usr/bin/dockerd
               └─2498 docker-containerd --config /var/run/docker/containerd/containerd.toml
  6. V době psaní tohoto článku je aktuální stabilní verze Dockeru 18.06.1 , chcete-li vytisknout typ verze Docker:

    docker -v
    Docker version 18.06.1-ce, build e68fc7a

Spuštění příkazu Docker bez sudo #

Ve výchozím nastavení vyžaduje správa Dockeru oprávnění správce. Pokud chcete spouštět příkazy Dockeru jako uživatel bez oprávnění root bez přidání sudo musíte svého uživatele přidat do skupiny dockerů, která se vytvoří během instalace balíčku Docker CE. Můžete to udělat zadáním:

sudo usermod -aG docker $USER

$USER je proměnná prostředí, která obsahuje vaše uživatelské jméno.

Odhlaste se a přihlaste se znovu, aby se členství ve skupině obnovilo.

Chcete-li ověřit, zda je Docker úspěšně nainstalován a že můžete spouštět příkazy dockeru bez sudo, zadejte následující příkaz, který stáhne testovací obraz, spustí se v kontejneru, vytiskne zprávu „Hello from Docker“ a ukončí:

docker container run hello-world

Výstup by měl vypadat takto:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

Rozhraní příkazového řádku Dockeru #

Nyní, když máme funkční instalaci Dockeru, pojďme si projít základní syntaxi docker CLI.

Příkazový řádek dockeru má následující podobu:

docker [option] [subcommand] [arguments]

Všechny dostupné příkazy zobrazíte zadáním docker bez parametrů:

docker

Pokud potřebujete další pomoc s jakýmkoli [subcommand] , stačí napsat:

docker [subcommand] --help

Obrázky dockeru #

Obrázek Docker se skládá ze série vrstev představujících instrukce v Dockerfilet obrázku, které tvoří spustitelnou softwarovou aplikaci. Obrázek je neměnný binární soubor obsahující aplikaci a všechny další závislosti, jako jsou binární soubory, knihovny a pokyny nezbytné pro spuštění aplikace. Stručně řečeno, obrázek Dockeru je v podstatě snímek kontejneru Docker.

Docker Hub je cloudová registrační služba, která se kromě jiných funkcí používá k uchovávání obrazů Docker buď ve veřejném nebo soukromém úložišti.

Chcete-li v úložišti Docker Hub vyhledat obrázek, stačí použít search dílčí příkaz. Chcete-li například vyhledat obraz CentOS, spusťte:

docker search centos

Výstup by měl vypadat takto:

NAME                               DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                             The official build of CentOS.                   4257                [OK]
ansible/centos7-ansible            Ansible on Centos7                              109                                     [OK]
jdeathe/centos-ssh                 CentOS-6 6.9 x86_64 / CentOS-7 7.4.1708 x86_…   94                                      [OK]
consol/centos-xfce-vnc             Centos container with "headless" VNC session…   52                                      [OK]
imagine10255/centos6-lnmp-php56    centos6-lnmp-php56                              40                                      [OK]
tutum/centos                       Simple CentOS docker image with SSH access      39

Jak můžete vidět, výsledky vyhledávání vytisknou tabulku s pěti sloupci NAME , DESCRIPTION , STARS , OFFICIAL a AUTOMATED . Oficiální image je image, kterou Docker vyvíjí ve spolupráci s upstream partnery.

Pokud si chceme stáhnout oficiální sestavení CentOS 7, můžeme to udělat pomocí image pull dílčí příkaz:

docker image pull centos
Using default tag: latest
latest: Pulling from library/centos
469cfcc7a4b3: Pull complete
Digest: sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Downloaded newer image for centos:latest

V závislosti na rychlosti vašeho internetu může stahování trvat několik sekund nebo minut. Jakmile je obrázek stažen, můžeme zobrazit seznam obrázků pomocí:

docker image ls

Výstup by měl vypadat nějak takto:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              e38bc07ac18e        3 weeks ago         1.85kB
centos              latest              e934aafc2206        4 weeks ago         199MB

Pokud z nějakého důvodu chcete smazat obrázek, můžete to udělat pomocí image rm [image_name] dílčí příkaz:

docker image rm centos
Untagged: centos:latest
Untagged: centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Deleted: sha256:e934aafc22064b7322c0250f1e32e5ce93b2d19b356f4537f5864bd102e8531f
Deleted: sha256:43e653f84b79ba52711b0f726ff5a7fd1162ae9df4be76ca1de8370b8bbf9bb0

Docker Containers #

Instance obrázku se nazývá kontejner. Kontejner představuje běhové prostředí pro jednu aplikaci, proces nebo službu.

Možná to není nejvhodnější srovnání, ale pokud jste programátor, můžete si představit obrázek Dockeru jako třídu a kontejner Docker jako instanci třídy.

Můžeme spustit, zastavit, odstranit a spravovat kontejner pomocí docker container dílčí příkaz.

Následující příkaz spustí kontejner Docker na základě obrazu CentoOS. Pokud obrázek nemáte lokálně, stáhne si jej nejprve:

docker container run centos

Na první pohled se vám může zdát, že se vůbec nic nestalo. No, to není pravda. Kontejner CentOS se zastaví okamžitě po spuštění, protože nemá dlouhotrvající proces a neposkytli jsme žádný příkaz, takže se kontejner spustil, spustil prázdný příkaz a pak skončil.

Přepínač -it nám umožňuje komunikovat s kontejnerem prostřednictvím příkazového řádku. Spuštění interaktivního kontejneru typu:

docker container run -it centos /bin/bash

Jak můžete vidět z výstupu, jakmile je kontejner spuštěn, příkazový řádek se změní, což znamená, že nyní pracujete zevnitř kontejneru:

[root@719ef9304412 /]#

Chcete-li zobrazit spuštěné kontejnery:, zadejte:

docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"         22 minutes ago      Up 22 minutes                           ecstatic_ardinghelli
Pokud nemáte žádné spuštěné kontejnery, výstup bude prázdný.

Chcete-li zobrazit spuštěné i zastavené kontejnery, předejte jim -a přepínač:

docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
79ab8e16d567        centos              "/bin/bash"              22 minutes ago      Up 22 minutes                                   ecstatic_ardinghelli
c55680af670c        centos              "/bin/bash"              30 minutes ago      Exited (0) 30 minutes ago                       modest_hawking
c6a147d1bc8a        hello-world         "/hello"                 20 hours ago        Exited (0) 20 hours ago                         sleepy_shannon

Chcete-li odstranit jeden nebo více kontejnerů, stačí zkopírovat ID kontejneru (nebo ID) shora a vložit je za container rm dílčí příkaz:

docker container rm c55680af670c

Cent OS
  1. Jak nainstalovat a používat TensorFlow na CentOS 7

  2. Jak nainstalovat Docker na CentOS 8

  3. Jak nainstalovat a používat Docker Compose na CentOS

  1. Jak nainstalovat a používat Docker na Ubuntu 18.04

  2. Jak nainstalovat a používat Docker Compose na CentOS 7

  3. Jak nainstalovat a používat Curl na CentOS 8

  1. Jak nainstalovat a používat Docker na Debian 9

  2. Jak nainstalovat a používat Docker na Debian 10 Linux

  3. Jak nainstalovat a používat Docker-Compose na CentOS 7