GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Docker CE (Community Edition) auf Ubuntu Server

Docker ist heutzutage die am meisten revolutionierte Technologie in der Virtualisierungswelt. Docker ist eigentlich ein Open-Source-Projekt, das Container-Technologie bereitstellt. Ein Container ist eine leichte VM (virtuelle Maschine) oder ein Prozess, der es uns ermöglicht, Linux-basierte Anwendungen darin zu installieren. Container haben keinen eigenen Kernel, RAM, CPU und Festplatte, sondern verwenden den zugrunde liegenden OS-Kernel, RAM, CPU-Kerne und Festplatte.

Container bietet eine prozessbasierte Isolierung, bei der virtuelle Maschinen eine ressourcenbasierte Isolierung bieten. Der Hauptvorteil von Containern besteht darin, dass wir einen Container in weniger als einer Sekunde bereitstellen können, da das Starten eines Containers tatsächlich das Starten eines Prozesses in Linux ist.

In diesem Artikel besprechen wir die Installation und Einrichtung von Community Docker-ce (Community Edition) unter Ubuntu 18.04/16.04 LTS, die Voraussetzungen für Docker-CE sind unten aufgeführt:

  • 64-Bit-Betriebssystem
  • Kernel-Version 3.10 oder höher

Schritt:1 Aktualisieren Sie die Paketdatenbank mit dem folgenden Befehl

Lassen Sie uns zuerst die Paketdatenbank mit "apt update" aktualisieren ‘Befehl

[email protected]:~$ sudo apt update

Schritt:2 GPG-Schlüssel für das offizielle Docker-Repository hinzufügen

Das Docker-Engine-Paket ist in den standardmäßigen Repositorys des Ubuntu 16.04-Servers nicht verfügbar. Lassen Sie uns den GPG-Schlüssel für das Docker-Repository mit dem folgenden Befehl hinzufügen.

[email protected]:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -OK[email protected]:~$

Fügen Sie nun das Docker-ce-Repository mit „apt-add-repository“ hinzu ‘Befehl

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

Aktualisieren Sie den Paketindex erneut, da wir das Docker-ce-Repository hinzugefügt haben

[email protected]:~$ sudo apt update

Schritt:3 Installieren Sie das Docker-Engine-Paket mit dem apt-Befehl.

Führen Sie den folgenden apt-get-Befehl aus, um die neueste Version von docker-ce

zu installieren
[email protected]:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Sobald die Docker-Engine installiert ist, starten und aktivieren Sie den Docker-Dienst mit den folgenden Befehlen

[email protected]:~$ sudo systemctl start docker[email protected]:~$ sudo systemctl enable docker

Jetzt funktioniert dieser Server als Docker Engine oder Container Engine. Außerdem wird eine Bridge erstellt, die als L2-Switch fungiert und den Containern von ihrem eigenen DHCP-Server IP-Adressen bereitstellt.

Überprüfen Sie die Docker-Version und andere Schlüsselparameter von Docker mit „docker info“. ‘Befehl

[email protected]:~$ sudo docker info

Fügen Sie Ihren Benutzernamen mit „usermod“ zur Docker-Gruppe hinzu ‘ Befehl, in meinem Fall ist der Benutzername ‘linuxtechi

[email protected]:~$ sudo usermod -aG docker linuxtechi

Der Docker-Installationsteil ist jetzt abgeschlossen. Machen wir uns anhand von Beispielen mit einigen grundlegenden Befehlen von Docker vertraut.

Syntax des Docker-Befehls:

# Docker-{Optionen}-Befehl {Argumente…}

Geben Sie „docker“ ein, um die Optionen des Docker-Befehls aufzulisten ‘ auf dem Terminal

Immer wenn die Docker-Engine installiert wird, wird der Standardregistrierungsserver im Docker-Befehl aktualisiert. Wenn wir den Docker-Befehl ausführen, um Bilder herunterzuladen und zu suchen, wird der Registrierungsserver das erwähnte Docker-Bild abrufen. Wir können diese Registrierungsadresse jedoch gemäß unserem Setup ändern.

Suchen Sie Docker-Images mit dem Befehl „Docker-Suche“

Nehmen wir an, wir wollen nach dem neuesten Centos-Docker-Image suchen.

[email protected]:~$ sudo docker search centos

Docker-Images mit dem Befehl „docker pull“ herunterladen

Angenommen, wir möchten das Docker-Image von Ubuntu 16.04 herunterladen.

[email protected]:~$ sudo docker pull ubuntu:16.04

Ebenso können wir die anderen Linux-OS-Images gemäß unseren Anforderungen herunterladen

Sobald das Image heruntergeladen ist, wird es lokal im Docker-Host-Image-Repository gespeichert. Wir können die verfügbaren Images in unserem lokalen Repository mit „docker images“ auflisten ‘ Befehl.

 [E-Mail geschützt]:~ $ Sudo Docker Images Repository Tag Bild-ID Erstellt SizeBuntu 16.04 104BEC311BCD 9 Tage vor 129 MB 

Stellen Sie einen Container mit dem Docker-Ausführungsbefehl bereit oder starten Sie ihn

Angenommen, wir möchten einen Ubuntu 16:04-Container bereitstellen.

[email protected]:~$ sudo docker run -it --name=mycontainer1 ubuntu:16.04[email protected]:/#

Im obigen Befehl „i ‘ steht für interaktiv und ‘t ‘ steht für Terminal und der Name des Containers ist ‘mycontainer1 ‘ und das Container-Image ist ‚ubuntu:16.04‘

Hinweis:Falls wir die Betriebssystemversion nicht erwähnen, wird versucht, die neueste Version bereitzustellen.

Um den Container zu stoppen, geben Sie „exit“ ein ’ in der Containerkonsole. Wenn Sie den Container nicht stoppen, aber zur Docker-Engine-Konsole zurückkehren möchten, geben Sie „ctrl+p+q ein ‘ in der Containerkonsole.

Überprüfen Sie, wie viele Container derzeit ausgeführt werden

Mit „docker ps ‘-Befehl können wir ausgeführte Container auflisten und alle Container auflisten, die entweder ausgeführt oder angehalten werden, verwenden Sie ‘docker ps -a

 [E-Mail geschützt]:~ $ Sudo Docker PS Container ID Image Befehl Erstellt Statusanschlüsse Names5CDF552B56C Ubuntu:16.04 "/ Bin / Bash" 9 Minuten vor 9 Minuten mycontainer1 [E-Mail geschützt]:~ $ 

Stoppen eines Containers mit dem Docker-Befehl stop

Stoppen wir meinen kürzlich bereitgestellten Container „mycontainer1“

 [E-Mail geschützt]:~ $ sudo docker stop mycontainer1mycontainer1 [E-Mail geschützt]:~ $ sudo docker ps -Acontainer idbildbefehl erstellt Statusanschlüsse Namesb5cdf552b56c ubuntu:16.04 "/ bin / bash" vor 15 Minuten verlassen (0) Über vor einer Minute                       meincontainer1

Starten und anhängen an den Container „mycontainer1“

Verwenden Sie „docker start {container_name}“. ’ Befehl, um einen Container zu starten und die Konsole des Containers abzurufen, verwenden Sie den Befehl docker hängt {container_name} an ‘

[email protected]:~$ sudo docker start mycontainer1mycontainer1[email protected]:~$ sudo docker Attach mycontainer1[email protected]:/#

Starten eines Containers im Trennmodus.

Nehmen wir an, wir möchten einen weiteren Container mit dem Namen „mycontainer2“ aus dem Centos7-Docker-Image im Trennmodus bereitstellen (d. h. der Container wird im Hintergrund gestartet und erhält keine Konsole), um den Konsolenbefehl zum Verwenden des Docker-Anfügens zu erhalten

 [E-Mail geschützt]:~ $ sudo docker run -dit --name =mycontainer2 centos:75efb063260c8d328cf685EFA05A610DFBFBF55EF602c7b14296D27668D9FF004D [E-Mail geschützt]:~ $ Sudo Docker PS Container-ID-Befehl Erstellt Statusanschlüsse Namens5EFB063260C8 CentOS:7 "/ bin / bash" Vor 28 Sekunden      Vor 28 Sekunden                          mycontainer2b5cdf552b56c        ubuntu:16.04        "/bin/bash"         Vor 28 Minuten      Vor 9 Minuten              >      Vor 9 Minuten              >      

Container-Ports an Docker-Engine-Host binden

Standardmäßig können Container die Außenwelt erreichen und jede ausgehende Verbindung wird so aussehen, als käme die Anfrage von der Host-IP-Adresse des Dockers, aber von außerhalb erreicht niemand Container.

Mithilfe der Portübersetzungsmethode ermöglichen wir Außenstehenden, unsere Container zu erreichen.

Nehmen wir an, ich möchte eine Website in einem Container hosten und auf diesen Container wird von Webentwicklern über ssh

zugegriffen
[email protected]:~$ sudo docker run -it -p 8000:80 -p 2000:22 --name=myserver1 centos:7[[email protected] /]#

Im obigen Befehl -p Die Option wird zum Pating (Übersetzung der Portadresse) verwendet. Wenn von außen jemand versucht, die Host-IP-Adresse meines Dockers auf Port 2000 per SSH zu senden, wird seine Anfrage an Port 22 auf Container „myserver1“ weitergeleitet und ebenso auf Port 8000 angefordert wird an Port 80 des Containers (myserver1) weitergeleitet

 [E-Mail geschützt]:~ $ Sudo Docker PS Container ID Image Befehl Erstellt Statusanschlüsse NamesCE0375F922cc Centos:7 "/ Bin / Bash" 6 Minuten vor 6 Minuten 0.0.0.0:2000-022/tcp, 0.0.0.0 :8000-> 80 / tcp myserver15efb063260c8 centos:7 "/ bin / bash" 38 Minuten vor 38 Minuten mycontainer2b5cdf552b56c ubuntu:16.04 "/ bin / bash" ungefähr eine Stunde vor 47 Minuten mycontainer1 

Änderungen eines Containers an ein Docker-Image übertragen

Im Docker-Befehl haben wir die Commit-Option, um die Änderungen des Containers in einem Docker-Image zu speichern. Nehmen wir an, wir haben im obigen Container einen Webserver installiert und möchten diese Änderungen in einem Docker-Image speichern, damit wir in Zukunft den Webserver-Container aus dem Docker-Image starten können.

 [E-Mail geschützt]:~ $ Sudo Docker Commit -m "Wege Service hinzugefügt" -a "Sonntag, 25. Dezember 2016" Bilder Repository Tag Bild ID Erstellt Sizemyserver1 V1 CAC1BDB1D48A vor 25 Sekunden 191.8 MB   D695E1B36B68 49 Sekunden 191.8 MBcentos 7 67591570DD29 Vor 9 Tagen 191.8 Mbubuntu 16.04 104BEC311BCD vor 9 Tagen 129 MB 

Container mit dem Befehl „docker rm“ beenden/löschen

Verwenden Sie "docker rm". ‘ Befehl zum Löschen von Containern entweder basierend auf ihren Namen und IDs. Stellen Sie vor dem Löschen eines Containers sicher, dass er gestoppt ist.

[email protected]:~$ sudo docker rm mycontainer2mycontainer2[email protected]:~$

So löschen Sie einen laufenden Container

[email protected]:~$ sudo docker rm -f mycontainer2

Entfernen von Docker-Images aus dem lokalen Image-Repository des Hosts

docker rmi Der Befehl wird verwendet, um Docker-Images aus dem lokalen Image-Repository des Hosts zu löschen oder zu entfernen

[email protected]:~$ sudo docker rmi myserver1:v1Untagged:myserver1:v1Deleted:sha256:cac1bdb1d48a381c8bac0573dcd888e9595564f5a428bc6d1d3e97b823f646da[email protected]:~$

Hinweis:Wir können unsere angepassten Docker-Bilder auch mit dem Docker-Push-Befehl auf den Docker-Hub hochladen, aber zuerst müssen wir unser Konto auf dem Docker-Hub erstellen und die folgenden Befehle vom Terminal aus ausführen

[email protected]:~$ sudo docker login -u docker-registry-{user_name}[email protected]:~$ sudo docker push docker-registry-{user_name}/{docker_image_name}

Das ist alles für diesen Artikel. Ich hoffe, Sie haben eine Vorstellung davon, wie man mit Containern arbeitet. Bitte teilen Sie uns Ihr wertvolles Feedback und Ihre Kommentare mit.


Ubuntu
  1. So installieren Sie Docker unter Ubuntu 18.04

  2. So installieren Sie Kubernetes unter Ubuntu 18.04

  3. So installieren Sie Docker Compose unter Ubuntu 18.04

  4. So installieren Sie Rancher unter Ubuntu

  5. So installieren Sie Docker unter Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

So installieren Sie Docker auf Ubuntu 18.04 LTS-Server

So installieren Sie Docker unter Ubuntu 20.04, 18.04, 21.04

So installieren Sie Plex Media Server auf Ubuntu 16.04 Server/Desktop

So installieren Sie den Bitwarden-Server unter Ubuntu 20.04 | 22.04 LTS über Docker

So installieren Sie Docker unter Ubuntu 14.04

So installieren Sie die MongoDB Community Edition unter Ubuntu