Installéiert Docker a Léiert Basis Container Manipulatioun an CentOS an RHEL 8/7 - Deel 1


An dëser 4-Artikel Serie wäerte mir iwwer Docker diskutéieren, wat en Open-Source Liichtgewiicht Virtualiséierungsinstrument ass, deen uewen um Betribssystemniveau leeft, wat d'Benotzer erlaabt Uwendungen ze kreéieren, auszeféieren an z'installéieren, a klenge Container verschlësselt.

Dës Aart vu Linux Container gëtt bewisen datt se séier, portabel a sécher sinn. D'Prozesser, déi an engem Docker Container lafen, sinn ëmmer vum Haapthost isoléiert, a verhënnert dobausse Tamperen.

Dësen Tutorial bitt e Startpunkt wéi Dir Docker installéiere wëllt, Docker Container op CentOS/RHEL 8/7 erstellen a lafen, awer kaum d'Uewerfläch vum Docker kraazt.

Schrëtt 1: Installéieren a konfiguréieren Docker

1. Fréier Versioune vum Docker goufen Docker oder Docker-Motor genannt, wann Dir dës installéiert hutt, musst Dir se deinstalléieren ier Dir eng méi nei Docker-ce Versioun installéiert.

# yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2. Fir déi lescht Versioun vum Docker Engine z'installéieren, musst Dir den Docker Repository opbauen an den yum-utils Package installéieren fir Docker stabil Repository am System z'aktivéieren.

# yum install -y yum-utils
# yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

3. Installéiert elo déi méi nei Docker-ce Versioun vum Docker Repository a Containerd manuell, well wéinst e puer Probleemer huet de Red Hat d'Installatioun vun containerd.io> 1.2.0-3.el7 blockéiert, wat ass eng Ofhängegkeet vum docker-ce.

# yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
# yum install docker-ce docker-ce-cli

4. Nodeems de Docker Package installéiert ass, start den Daemon, kontrolléiert säi Status an aktivéiert et systemwäit mat de folgende Kommandoen:

# systemctl start docker 
# systemctl status docker
# systemctl enable docker

5. Endlech, fuert e Container Testbild fir z'iwwerpréiwen ob Docker richteg funktionnéiert, andeems Dir de folgende Kommando ausgitt:

# docker run hello-world

Wann Dir de Message hei ënnen gesitt, dann ass alles op der richteger Plaz.

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

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

6. Elo kënnt Dir e puer Basis Docker Kommandoen ausféieren fir e puer Informatioun iwwer Docker ze kréien:

# docker info
# docker version

7. Fir eng Lëscht vun all verfügbaren Docker Kommandoen ze kréien, tippt Docker op Ärer Konsole.

# docker

Schrëtt 2: Luet en Docker Image erof

8. Fir e Docker Container ze starten an ze lafen, éischtens muss e Bild vum Docker Hub op Ärem Host erofgeluede ginn. Docker Hub bitt vill gratis Biller vu senge Repositories.

Fir no engem Docker-Bild ze sichen, Ubuntu, zum Beispill, de folgende Kommando erausginn:

# docker search ubuntu

9. Nodeems Dir décidéiert hutt op wéi engem Bild Dir wëllt op Basis vun Äre Bedierfnesser lafen, luet se lokal erof andeems Dir de Kommando hei drënner leeft (an dësem Fall gëtt en Ubuntu-Bild erofgelueden a benotzt):

# docker pull ubuntu

10. Fir all verfügbar Docker Biller op Ärem Host ze lëschten, gitt de folgende Kommando:

# docker images

11. Wann Dir kee Docker Bild méi braucht an Dir wëllt et aus dem Host eraushuelen, de folgende Kommando:

# docker rmi ubuntu

Schrëtt 3: Run en Docker Container

Wann Dir e Kommando géint e Bild ausféiert, kritt Dir am Fong e Container. Nodeems de Kommando, deen an de Container ausféiert, eriwwer ass, stoppt de Container (Dir kritt en net lafenden oder ausgaangene Container). Wann Dir en anere Kommando an datselwecht Bild leeft, gëtt en neie Container erstallt a sou weider.

All déi erstallt Container bleiwen am Hostdateisystem bis Dir wielt se ze läschen andeems Dir de Kommando docker rm benotzt.

12. Fir e Container ze kreéieren an auszeféieren, musst Dir Kommando an e erofgeluede Bild lafen, an dësem Fall, Ubuntu, also e Basisbefehl wier d'Verdeelungsversiounsdatei am Container mat Cat Kommando ze weisen, wéi an de folgenden Beispill:

# docker run ubuntu cat /etc/issue

De uewe genannte Kommando ass wéi follegt opgedeelt:

# docker run [local image] [command to run into container]

13. Fir ee vun de Container erëm mat dem Kommando auszeféieren, deen ausgeführt gouf fir et ze kreéieren, musst Dir als éischt d'Container ID kréien (oder den Numm automatesch vun Docker generéiert) andeems Dir de Kommando ënnen erausstellt, deen eng Lëscht vun de lafenden an gestoppt (net lafen) Container:

# docker ps -l 

14. Wann d'Container ID kritt ass, kënnt Dir de Container erëm mat dem Kommando starten, dee benotzt gouf fir et ze kreéieren, andeems Dir de folgende Kommando ausgitt:

# docker start 923a720da57f

Hei stellt d'String 923a720da57f d'Container ID duer.

15. Am Fall wou de Container Staat leeft, kënnt Dir seng ID kréien andeems Dir docker ps Kommando ausginn. Fir de lafende Containerprobleem ze stoppen docker stop Kommando andeems Dir d'Container ID oder den automatesch generéierten Numm spezifizéiert.

# docker stop 923a720da57f
OR
# docker stop cool_lalande
# docker ps

16. Eng méi elegant Alternativ, fir datt Dir d'Container ID net erënnere musst, wier en eenzegaartegen Numm fir all Container ze ginn, deen Dir erstellt andeems Dir d'Optioun --name op der Kommandozeil benotzt, wéi an folgend Beispill:

# docker run --name ubuntu20.04 ubuntu cat /etc/issue

17. Dann, andeems Dir den Numm benotzt, deen Dir fir de Container zougewisen hutt, kënnt Dir de Container (Start, Stop, Remove, Top, Statistik) weider manipuléieren andeems Dir säin Numm adresséiert, wéi an den folgenden Beispiller:

# docker start ubuntu20.04
# docker stats ubuntu20.04
# docker top ubuntu20.04 

Sidd bewosst datt e puer vun den uewe genannte Kommandoen keen Ausgang weisen, wann de Kommandoprozess dee benotzt gouf fir de Container ze kreéieren fäerdeg ass. Wann de Prozess deen am Container leeft fäerdeg ass, stoppt de Container.

Schrëtt 4: Laf eng interaktiv Sessioun an e Container

18. Fir interaktiv an eng Container Shell Sessioun ze verbannen, a Kommandoen auszeféieren wéi Dir op all aner Linux Sessioun maacht, gitt de folgende Kommando aus:

# docker run -it ubuntu bash

De uewe genannte Kommando ass wéi follegt opgedeelt:

  1. -i gëtt benotzt fir eng interaktiv Sessioun unzefänken.
  2. -t verdeelt en TTY an befestegt stdin an stdout.
  3. ubuntu ass d'Bild dat mir benotzt hunn fir de Container ze kreéieren.
  4. bash (oder /bin/bash) ass de Kommando dee mir am Ubuntu Container lafen.

19. Fir opzehalen an zréck an den Host vun der lafender Container Sessioun, musst Dir exit Kommando tippen. Den Ausgangsbefehl schléisst all Containerprozesser of a stoppt et.

# exit

20. Wann Dir interaktiv op Container Terminal Prompt ageloggt sidd an Dir musst de Container am Laafenden Zoustand halen, awer aus der interaktiver Sessioun erausgoen, kënnt Dir d'Konsole verloossen an zréck op den Hostterminal andeems Dir Ctrl+p dréckt. an Ctrl+q Schlësselen.

21. Fir erëm op de lafen Container ze konnektéieren braucht Dir de Container ID oder Numm. Gitt docker ps Kommando aus fir d'ID oder den Numm ze kréien an dann fuert docker attach Kommando andeems Dir Container ID oder Numm spezifizéiert, wéi am Bild hei uewen illustréiert:

# docker attach <container id>

22. Fir e lafende Container aus der Hostsession ze stoppen, gitt de folgende Kommando:

# docker kill <container id>

Dat ass alles fir Basis Container Manipulatioun. Am nächsten Tutorial wäerte mir diskutéieren wéi een e Webserver an en Docker Container späichert, läschen a lafen.