Asenna Docker ja Learn Container Manipulation CentOS: iin ja RHEL 8/7 - osa 1


Tässä 4-artikkelisarjassa keskustellaan Dockerista, joka on avoimen lähdekoodin kevyt virtualisointityökalu, joka toimii käyttöjärjestelmän tasolla, jonka avulla käyttäjät voivat luoda, suorittaa ja ottaa käyttöön sovelluksia, jotka on kapseloitu pieniin säiliöihin.

Tämäntyyppiset Linux-kontit ovat osoittautuneet nopeiksi, kannettaviksi ja turvallisiksi. Docker-säiliössä suoritettavat prosessit ovat aina eristetty pääisännästä estäen ulkopuoliset manipuloinnit.

Tämä opetusohjelma tarjoaa lähtökohdan Dockerin asentamiselle, Docker-konttien luomiselle ja ajamiselle CentOS/RHEL 8/7: ssä, mutta tuskin naarmuttaa Dockerin pintaa.

Vaihe 1: Asenna ja määritä Docker

1. Aikaisempia Docker-versioita kutsuttiin dockeriksi tai docker-moottoriksi. Jos sinulla on nämä asennettuna, poista ne ennen uuden docker-ce-version asentamista.

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

2. Asentaaksesi Docker Enginen uusimman version, sinun on asennettava Docker-arkisto ja asennettava yum-utils-paketti, jotta Docker-vakaa arkisto otetaan käyttöön järjestelmässä.

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

3. Asenna nyt uudempi docker-ce-versio Docker-arkistosta ja containerd manuaalisesti, koska joidenkin ongelmien vuoksi Red Hat esti containerd.io> 1.2.0-3.el7 -asennuksen, joka on docker-ce: n riippuvuus.

# 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. Kun Docker-paketti on asennettu, käynnistä daemon, tarkista sen tila ja ota se käyttöön koko järjestelmässä seuraavien komentojen avulla:

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

5. Suorita lopuksi kontin testikuva varmistaaksesi, että Docker toimii oikein, antamalla seuraavan komennon:

# docker run hello-world

Jos näet alla olevan viestin, kaikki on oikeassa paikassa.

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. Nyt voit suorittaa muutaman Docker-peruskomennon saadaksesi tietoja Dockerista:

# docker info
# docker version

7. Saat luettelon kaikista käytettävissä olevista Docker-komennoista kirjoittamalla docker konsolillesi.

# docker

Vaihe 2: Lataa Docker-kuva

8. Docker-säilön käynnistämiseksi ja ajamiseksi ensin on ladattava kuva isännän Docker Hub -sovelluksesta. Docker Hub tarjoaa paljon ilmaisia kuvia arkistoistaan.

Jos haluat etsiä Docker-kuvaa, esimerkiksi Ubuntu antaa seuraavan komennon:

# docker search ubuntu

9. Kun olet päättänyt, minkä kuvan haluat suorittaa tarpeidesi perusteella, lataa se paikallisesti suorittamalla alla oleva komento (tässä tapauksessa ladataan ja käytetään Ubuntu-kuvaa):

# docker pull ubuntu

10. Jos haluat luetella kaikki käytettävissä olevat Docker-kuvat isännässäsi, anna seuraava komento:

# docker images

11. Jos et enää tarvitse Docker-kuvaa ja haluat poistaa sen isännästä, anna seuraava komento:

# docker rmi ubuntu

Vaihe 3: Suorita Docker Container

Kun suoritat komennon kuvaa vastaan, saat periaatteessa säilön. Kun säilöön suoritettava komento loppuu, säilö pysähtyy (saat suorittamattoman tai poistuneen säilön). Jos suoritat toisen komennon samaan kuvaan uudelleen, luodaan uusi säilö ja niin edelleen.

Kaikki luodut säilöt pysyvät isäntätiedostojärjestelmässä, kunnes päätät poistaa ne käyttämällä docker rm -komentoa.

12. Säilön luomiseksi ja ajamiseksi sinun on suoritettava komento ladattuun kuvaan, tässä tapauksessa Ubuntuun, joten peruskomento olisi näyttää jakeluversiotiedosto säiliön sisällä cat-komennolla, kuten seuraavassa esimerkki:

# docker run ubuntu cat /etc/issue

Yllä oleva komento on jaettu seuraavasti:

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

13. Jos haluat suorittaa yhden säiliöistä uudelleen komennolla, joka suoritettiin sen luomiseksi, sinun on ensin hankittava kontin tunnus (tai Dockerin automaattisesti luoma nimi) antamalla alla oleva komento, joka näyttää luettelon käynnissä olevista ja pysäytetyt (ei-käynnissä olevat) kontit:

# docker ps -l 

14. Kun säilötunnus on saatu, voit käynnistää säilön uudelleen komennolla, jota käytettiin sen luomiseen antamalla seuraava komento:

# docker start 923a720da57f

Tässä merkkijono 923a720da57f edustaa säilön tunnusta.

15. Jos säilö on käynnissä, voit saada sen tunnuksen antamalla docker ps -komennon. Pysäytä käynnissä oleva säilökysymyskoodi docker stop -komento määrittämällä kontin tunnus tai automaattisesti luotu nimi.

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

16. Tyylikäs vaihtoehto, jotta sinun ei tarvitse muistaa säilötunnusta, on määrittää yksilöllinen nimi jokaiselle luomallesi säilölle käyttämällä komentorivin --name -vaihtoehtoa, kuten seuraava esimerkki:

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

17. Sitten käyttämällä säilölle määrittämäsi nimeä voit käsitellä säilöä (aloita, pysäytä, poista, ylitä, tilastot) vain osoittamalla sen nimeä, kuten alla olevissa esimerkeissä:

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

Huomaa, että jotkut yllä olevista komennoista eivät välttämättä näytä tulostetta, jos säilön luomiseen käytetty komentoprosessi päättyy. Kun säiliön sisällä suoritettava prosessi päättyy, säiliö pysähtyy.

Vaihe 4: Suorita interaktiivinen istunto säilöön

18. Jotta voit muodostaa yhteyden vuorovaikutteisesti säilökuoren istuntoon ja suorittaa komentoja kuten muillakin Linux-istunnoilla, anna seuraava komento:

# docker run -it ubuntu bash

Yllä oleva komento on jaettu seuraavasti:

  1. -i käytetään vuorovaikutteisen istunnon aloittamiseen.
  2. -t jakaa TTY: n ja liittää stdinin ja stdoutin.
  3. ubuntu on kuva, jota käytimme säilön luomiseen.
  4. bash (tai/bin/bash) on komento, jota suoritamme Ubuntu-säilössä.

19. Voit lopettaa käynnissä olevan säilöistunnon ja palata isännälle kirjoittamalla exit -komennon. Exit-komento lopettaa kaikki säilöprosessit ja pysäyttää ne.

# exit

20. Jos olet vuorovaikutteisesti kirjautunut konttiterminaalikehotteeseen ja sinun on pidettävä säilö käynnissä, mutta poistut interaktiivisesta istunnosta, voit lopettaa konsolin ja palata isäntäpäätteeseen painamalla Ctrl + p ja Ctrl + q -näppäimet.

21. Yhteyden muodostaminen käynnissä olevaan säilöön edellyttää säilön tunnusta tai nimeä. Anna docker ps -komento saadaksesi tunnuksen tai nimen ja suorita sitten komento docker attach määrittämällä kontin tunnus tai nimi yllä olevan kuvan mukaisesti:

# docker attach <container id>

22. Jos haluat pysäyttää käynnissä olevan säilön isäntäistunnosta, anna seuraava komento:

# docker kill <container id>

Se on kaikki tavalliselle konttien käsittelylle. Seuraavassa opetusohjelmassa keskustellaan verkkopalvelimen tallentamisesta, poistamisesta ja ajamisesta Docker-säilöön.