Android

Cum se instalează și se utilizează docker pe Centos 7

Установка Docker и Docker-compose на Ubuntu | уроки docker | #1.1

Установка Docker и Docker-compose на Ubuntu | уроки docker | #1.1

Cuprins:

Anonim

Docker este o tehnologie de containerizare care vă permite să construiți, să testați și să implementați rapid aplicații ca containere portabile, autosuficiente, care pot rula practic oriunde.

În acest tutorial, vom parcurge cum să instalați Docker CE pe CentOS 7 și vom explora conceptele și comenzile de bază ale Docker.

Cerințe preliminare

Înainte de a continua acest tutorial, asigurați-vă că sunt îndeplinite următoarele cerințe preliminare:

  • Server CentOS 7 Sunteți conectat ca utilizator non-root cu privilegii sudo. Verificați acest ghid despre cum să creați un nou utilizator sudo.

Instalați Docker pe CentOS

Deși pachetul Docker este disponibil în depozitul oficial CentOS 7, este posibil să nu fie întotdeauna cea mai recentă versiune. Abordarea recomandată este instalarea Docker din depozitele Docker.

Pentru a instala Docker pe serverul dvs. CentOS 7, urmați pașii de mai jos:

  1. Începeți să actualizați pachetele de sistem și să instalați dependențele necesare:

    sudo yum update sudo yum install yum-utils device-mapper-persistent-data lvm2

    Apoi, executați următoarea comandă care va adăuga depozitul stabil Docker în sistemul dvs.:

    sudo yum-config-manager --add-repo

    Acum că depozitul Docker este activat, instalați cea mai recentă versiune a Docker CE (Community Edition) folosind yum tastând:

    sudo yum install docker-ce

    După instalarea pachetului Docker, porniți demonul Docker și permiteți-l să pornească automat la momentul de pornire:

    sudo systemctl start docker sudo systemctl enable docker

    Pentru a verifica dacă serviciul Docker rulează tipul:

    sudo systemctl status docker

    Produsul ar trebui să arate așa:

    ● 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

    În momentul scrierii, versiunea actuală stabilă a Docker este, 18.06.1 , de tipărit tipul versiunii Docker:

    docker -v

    Docker version 18.06.1-ce, build e68fc7a

Executând comanda Docker fără Sudo

În mod implicit, Docker necesită privilegii de administrator. Dacă doriți să rulați comenzile Docker ca utilizator non-root fără a preplata sudo trebuie să adăugați utilizatorul la grupul de docker care este creat în timpul instalării pachetului Docker CE. Puteți face acest lucru tastând:

sudo usermod -aG docker $USER

$USER este o variabilă de mediu care vă deține numele de utilizator.

Deconectați-vă și conectați-vă pentru a vă reîmprospăta calitatea de membru.

Pentru a verifica dacă Docker este instalat cu succes și că puteți rula comenzi docker fără sudo, emite următoarea comandă care va descărca o imagine de testare, o va rula într-un container, tipăriți un mesaj „Hello from Docker” și ieșiți:

docker container run hello-world

Produsul ar trebui să arate astfel:

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.

Interfața liniei de comandă Docker

Acum că avem o instalare funcțională Docker, să trecem peste sintaxa de bază a clapetei de docker.

Linia de comandă docker ia următoarea formă:

docker

Puteți lista toate comenzile disponibile tastând docker fără parametri:

docker

docker --help

Imagini Docker

O imagine Docker este formată dintr-o serie de straturi reprezentând instrucțiuni din fișierul Dockerfile al imaginii care alcătuiesc o aplicație software executabilă. O imagine este un fișier binar imuabil care include aplicația și toate celelalte dependențe, cum ar fi binare, biblioteci și instrucțiuni necesare pentru a rula aplicația. Pe scurt, o imagine Docker este în esență o imagine a unui container Docker.

Docker Hub este un serviciu de registru bazat pe cloud care, printre alte funcționalități, este utilizat pentru păstrarea imaginilor Docker, fie într-un depozit public sau privat.

Pentru a căuta o imagine în depozitul Docker Hub, utilizați doar subcomanda de search . De exemplu, pentru a căuta imaginea CentOS, executați:

docker search centos

Produsul ar trebui să arate astfel:

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

După cum vedeți rezultatele căutării imprimați un tabel cu cinci coloane, NAME , DESCRIPTION , STARS , OFFICIAL și AUTOMATED . Imaginea oficială este o imagine pe care Docker o dezvoltă împreună cu partenerii din amonte.

Dacă dorim să descărcăm compilarea oficială a CentOS 7, o putem face folosind subcomanda de image pull :

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

În funcție de viteza de pe Internet, descărcarea poate dura câteva secunde sau câteva minute. Odată descărcată imaginea, putem enumera imaginile cu:

docker image ls

Rezultatul ar trebui să semene cu următoarele:

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

Dacă din anumite motive doriți să ștergeți o imagine, puteți face asta cu subcomanda de image rm :

docker image rm centos

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

Containerele de andocare

O instanță a unei imagini se numește container. Un container reprezintă un timp de rulare pentru o singură aplicație, proces sau serviciu.

Este posibil să nu fie cea mai potrivită comparație, dar dacă sunteți un programator, vă puteți gândi la o imagine Docker ca clasă și containerul Docker ca o instanță a unei clase.

Putem începe, opri, elimina și gestiona un container cu subcomanda docker container docker.

Următoarea comandă va porni un container Docker bazat pe imaginea CentoOS. Dacă nu aveți imaginea local, aceasta o va descărca mai întâi:

docker container run centos

La prima vedere, vi se poate părea că nu s-a întâmplat nimic deloc. Ei bine, nu este adevărat. Containerul CentOS se oprește imediat după pornire, deoarece nu are un proces de lungă durată și nu am furnizat nicio comandă, astfel încât containerul a fost pornit, a executat o comandă goală și apoi a ieșit.

Comutatorul -it ne permite să interacționăm cu containerul prin intermediul liniei de comandă. Pentru a porni un tip de container interactiv:

docker container run -it centos /bin/bash

După cum puteți vedea din ieșire odată ce containerul este pornit, promptul de comandă este schimbat, ceea ce înseamnă că acum lucrați din interiorul containerului:

#

Pentru a lista containerele rulante:, tastați:

docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79ab8e16d567 centos "/bin/bash" 22 minutes ago Up 22 minutes ecstatic_ardinghelli Dacă nu aveți containere rulante, ieșirea va fi goală.

Pentru a vizualiza ambele containere rulate și oprite, treceți-l pe comutatorul -a :

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

Pentru a șterge unul sau mai multe containere, trebuie doar să copiați ID-ul containerului (sau ID-urile) de mai sus și să le lipiți după subcomanda container rm :

docker container rm c55680af670c

Concluzie

Ați învățat cum să instalați Docker pe mașina dvs. CentOS 7 și cum să descărcați imaginile Docker și să gestionați containerele Docker. De asemenea, poate doriți să citiți despre Docker Compose, care vă permite să definiți și să rulați aplicații Docker cu mai multe containere.

Acest tutorial abia zgârie suprafața ecosistemului Docker. În unele dintre articolele noastre următoare, vom continua să ne scufundăm în alte aspecte ale Docker. Pentru a afla mai multe despre Docker, consultați documentația oficială Docker.

docker centos