Cum se instalează Docker pe Ubuntu, CentOS, Debian și Windows

Un ghid detaliat despre cum să configurezi Docker pe sistemul tău de operare preferat.

Docker este un proiect open-source, conceput pentru a simplifica procesul de construire, testare, implementare și gestionare a aplicațiilor prin intermediul containerelor portabile și autonome. Practic, imaginile de container includ toate resursele necesare pentru ca o aplicație să funcționeze corect.

În prezent, Docker a devenit un instrument esențial pentru implementarea și administrarea aplicațiilor ca și containere, eliminând problemele de compatibilitate. Această tehnologie permite instalarea aplicațiilor și serviciilor pe o gamă extinsă de computere, indiferent de diferențele hardware sau de sistemele de operare. Astfel, poți rula aceleași imagini pe diferite sisteme, cu condiția ca Docker să fie instalat. Exemple tipice de imagini includ Nginx, MariaDB, WordPress și multe altele.

Docker se diferențiază de mașinile virtuale tradiționale (VM).

În acest tutorial, vei învăța cum să instalezi Docker pe următoarele sisteme de operare:

  • Ubuntu
  • Debian
  • CentOS
  • Windows

În general, pașii sunt similari pentru un anumit sistem de operare, dar pot apărea mici diferențe în funcție de versiune.

Modalități de Instalare Docker

Există trei metode principale de instalare a Docker, iar alegerea depinde de context și mediu:

  • Folosirea depozitelor Docker: Metodă simplă de instalare și actualizare, recomandată pentru majoritatea cazurilor de instalare online.
  • Descărcare manuală, instalare și actualizare: Potrivită pentru computerele offline, fără acces la internet.
  • Utilizarea scripturilor automatizate: Ideală pentru mediile de dezvoltare și testare.

În acest ghid, vom aborda instalarea folosind depozitele Docker. Vei învăța cum să instalezi și să actualizezi instrumentul din depozitele oficiale Docker. Deși este posibil să descarci fișiere și din depozitul sistemului de operare, acestea pot să nu fie cele mai recente versiuni, de aceea este recomandat să folosești sursa oficială Docker ori de câte ori este posibil.

Instalarea Docker pe Ubuntu

În scopul acestui articol, vom utiliza Ubuntu 18.04.

Pregătiri Initiale

Pasul 1: Actualizarea Bazei de Date Locale

Înainte de a începe instalarea, actualizează lista de pachete existente:

sudo apt update

Pasul 2: Instalarea Dependențelor pentru Suport HTTPS

Instalează pachetele care permit ca apt să transfere fișiere prin protocolul HTTPS:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Iată ce face fiecare comandă:

  • apt-transport-https: Permite apt să transfere date prin HTTPS.
  • ca-certificates: Permite computerului sau browserului să verifice certificatele de securitate.
  • curl: Instrument de transfer de fișiere.
  • software-properties-common: Adaugă scripturi de gestionare a software-ului.

Pasul 3: Adăugarea Cheii GPG a Docker

Următorul pas este adăugarea cheii GPG, o funcție de securitate care garantează autenticitatea fișierelor de instalare:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Pasul 4: Instalarea Depozitului Docker

În acest pas, folosim comanda de mai jos pentru a adăuga depozitul Docker la sursele apt:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

Pasul 5: Actualizarea Arhivelor

Actualizează baza de date cu pachetele Docker din depozitul pe care tocmai l-ai adăugat:

sudo apt update

Pentru a te asigura că instalezi de pe depozitul oficial Docker, rulează comanda:

apt-cache policy docker-ce

Acest lucru ar trebui să afișeze un rezultat similar cu:

Rezultatul `apt-cache policy docker-ce`:

docker-ce:
  Installed: (none)
  Candidate: 5:19.03.5~3-0~ubuntu-bionic
  Version table:
 5:19.03.5~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 5:19.03.4~3-0~ubuntu-bionic 500
500 https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 5:19.03.3~3-0~ubuntu-bionic 500

După cum poți vedea din rezultat, docker-ce nu este încă instalat. Totuși, rezultatul indică sistemul de operare țintă și numărul versiunii Docker. Reține că numerele versiunii pot varia în funcție de momentul instalării.

Pasul 6: Instalarea Ultimei Versiuni de Docker

Odată confirmat, utilizează următoarea comandă pentru a instala Docker:

sudo apt install docker-ce

Aceasta va instala Docker, va porni demonul și va permite acestuia să pornească automat la fiecare pornire a sistemului. Pentru a verifica dacă Docker este activ și funcționează, rulează:

sudo systemctl status docker

În cazul unei instalări reușite, comanda va afișa:

    $ sudo systemctl status docker

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
   Active: active (running) since Sat 2019-12-14 07:46:40 UTC; 50s ago
 Docs: https://docs.docker.com
 Main PID: 2071 (dockerd)
Tasks: 8
   CGroup: /system.slice/docker.service
   └─2071 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain

Această parte a rezultatului confirmă că instalarea a fost un succes și că Docker este activ și funcțional.

Instalarea Docker pe CentOS

Cerințe Prealabile

  • O versiune stabilă de CentOS 7.
  • Acces la cont utilizator cu privilegii sudo.

Cea mai bună practică este să folosești cea mai recentă versiune a pachetului de instalare Docker din depozitul oficial Docker.

Pasul 1: Actualizarea Bazei de Date a Pachetelor

Primul pas este actualizarea bazei de date a pachetelor cu ajutorul comenzii:

sudo yum update

Pasul 2: Adăugarea Depozitului Docker și Instalarea Docker

După actualizare, adăugăm depozitul oficial Docker, descărcăm și instalăm cea mai recentă versiune de Docker folosind comanda:

curl -fsSL https://get.docker.com/ | sh

Pasul 3: Pornirea Docker și Verificarea Versiunii

Odată ce instalarea este finalizată, pornește demonul Docker:

sudo systemctl start docker

Verifică dacă Docker rulează:

sudo systemctl status docker

Ar trebui să obții un rezultat similar cu acesta:

docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-12-09 09:54:50 UTC; 7s ago
 Docs: https://docs.docker.com
 Main PID: 9194 (dockerd)
Tasks: 8
   Memory: 44.0M
   CGroup: /system.slice/docker.service
   └─9194 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont...

Instalarea Docker pe Debian

Pentru a te asigura că ai cea mai recentă versiune, instalează Docker din depozitul oficial.

Cerințe Prealabile

  • Debian 9 instalat și funcțional.
  • Acces la cont utilizator cu privilegii sudo.
  • Pasul 1: Actualizarea Sistemului

    În primul rând, actualizează lista pachetelor instalate:

    sudo apt update

    Pasul 2: Instalarea Pachetelor Necesare pentru APT peste HTTPS

    sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

    Pasul 3: Adăugarea Cheii GPG

    Acum trebuie să adăugăm cheia GPG de la Docker în sistemul nostru Debian. Acest lucru asigură că descărcările sunt valide.

    Pentru a adăuga cheia GPG a depozitului oficial Docker, rulează:

    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

    Pasul 4: Adăugarea Depozitului Docker la Sursele APT

    În acest pas, adăugăm depozitul Docker la sursele apt:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

    Pasul 5: Actualizarea Bazei de Date a Pachetelor

    Actualizăm acum baza de date a pachetelor, incluzând pachetele Docker din depozitul adăugat:

    sudo apt update

    Pasul 6: Verificarea Sursa de Instalare

    Comanda de mai jos te asigură că instalezi Docker din depozitul oficial Docker și nu din cel Debian, care s-ar putea să fie învechit:

    apt-cache policy docker-ce

    Acesta va returna un rezultat similar cu cel de mai jos. Numărul versiunii Docker poate varia.

      Installed: (none)
      Candidate: 5:19.03.5~3-0~debian-stretch
      Version table:
     5:19.03.5~3-0~debian-stretch 500
    500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.4~3-0~debian-stretch 500
    500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.3~3-0~debian-stretch 500
    500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     5:19.03.2~3-0~debian-stretch 500
    500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
    ..
    ..
    ..
    17.03.1~ce-0~debian-stretch 500
    500 https://download.docker.com/linux/debian stretch/stable amd64 Packages
     17.03.0~ce-0~debian-stretch 500
    500 https://download.docker.com/linux/debian stretch/stable amd64 Packages

    După cum se poate observa, `docker-ce` nu este încă instalat. Rezultatul confirmă instalarea din depozitul oficial Docker pentru Debian 9 (stretch).

    Pasul 7: Instalarea Docker

    Suntem pregătiți să instalăm Docker folosind comanda de mai jos:

    sudo apt install docker-ce

    Aceasta va instala Docker, va porni motorul și îl va configura să pornească automat la fiecare pornire a sistemului. După finalizarea instalării, verifică dacă rulează:

    sudo systemctl status docker

    Dacă instalarea este reușită, rezultatul va indica faptul că serviciul este activ și funcționează.

    Rezultatul:

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
       Active: active (running) since Mon 2019-12-09 11:48:32 UTC; 41s ago
     Docs: https://docs.docker.com
     Main PID: 17486 (dockerd)
       CGroup: /system.slice/docker.service
       └─17486 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain

    Instalarea Docker pe Windows

    Să vedem cum se instalează Docker Enterprise Edition pe Windows Server 2016.

    Pasul 1: Instalarea Modulului Docker Powershell

    Deschide linia de comandă PowerShell cu privilegii administrative și rulează următoarea comandă pentru a instala modulul DockerMsftProvider. Acesta este un modul Docker PowerShell pentru identificarea, instalarea și actualizarea imaginilor Docker.

    Dacă folosești contul de administrator, comanda va arăta astfel:

    PS C:UsersAdministrator> install-module -name DockerMsftProvider -Force

    Aceasta va afișa următorul rezultat:

    NuGet provider is required to continue
    PowerShellGet requires NuGet provider version ‘2.8.5.201’ or newer to interact with NuGet-based repositories. The NuGet
    provider must be available in ‘C:Program FilesPackageManagementProviderAssemblies’ or
    ‘C:UsersAdministratorAppDataLocalPackageManagementProviderAssemblies’. You can also install the NuGet provider by
    running ‘Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force’. Do you want PowerShellGet to install
    and import the NuGet provider now?
    [Y] Yes [N] No [S] Suspend [?] Help (default is “Y”): y
    Type Y for Yes

    Pasul 2: Instalarea Pachetului Docker

    Odată ce modulul este instalat, suntem pregătiți să instalăm pachetul Docker:

    PS C:UsersAdministrator>Install-Package Docker –Providername DockerMsftProvider –Force

    Acesta va instala pachetul Docker pe computer, dar nu va porni serviciul. Astfel, trebuie să repornim computerul pentru a activa funcția de container.

    PS C:UsersAdministrator>Restart-Computer

    După repornire, verifică instalarea și versiunea rulând:

    PS C:UsersAdministrator>docker-version

    Rezultatul va arăta astfel:

    Client: Docker Engine – Enterprise
    Version: 19.03.5
    API version: 1.40
    Go version: go1.12.12
    Git commit: 2ee0c57608
    Built: 11/13/2019 08:00:16
    OS/Arch: windows/amd64
    Experimental: false
    Server: Docker Engine – Enterprise
    Engine:
    Version: 19.03.5
    API version: 1.40 (minimum version 1.24)
    Go version: go1.12.12
    Git commit: 2ee0c57608
    Built: 11/13/2019 07:58:51
    OS/Arch: windows/amd64
    Experimental: false
    
    PS C:UsersAdministrator>

    Pentru a testa Docker cu o imagine tipică, rulează comanda:

    docker run hello-world:nanoserver-sac2016

    Dacă este instalat și rulează corect, comanda va afișa următorul rezultat:

    PS C:UsersAdministrator> docker run hello-world:nanoserver-sac2016
    
    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.
    (windows-amd64, nanoserver-sac2016)
    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 a Windows Server container with:
    PS C:> docker run -it mcr.microsoft.com/windows/servercore powershell
    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/

    Reține că în mod implicit, trebuie să folosești o imagine de container Windows. Dacă dorești să rulezi imagini container Linux, folosește Daemonul Docker în modul experimental, care este disponibil în versiunea desktop.

    Concluzie

    Acum ai o înțelegere clară despre cât de simplă este instalarea Docker. După instalare, explorează funcționalitățile pentru a te familiariza cu acesta. Dacă preferi o abordare video, poți accesa acest curs.