Versuchen Sie, Docker in Ubuntu auf WSL zu setzen

Ich habe Docker unter Ubuntu 18.04 unter WSL2 installiert und versucht, es zu berühren, daher werde ich eine Notiz hinterlassen.

Arbeitsumgebung

Ubuntu-Setup

Die Ubuntu-Konstruktion auf WSL2 wird im folgenden Artikel zusammengefasst. Ich habe versucht, Ubuntu 18.04 auf WSL zu erstellen

Docker-Version

19.03.13

fließen

  1. Docker-Installation
  2. Verschiedene Docker-Befehle

1. Docker-Installation

Installieren Sie auf der folgenden Website. Installieren Sie Docker unter Ubuntu 18.04 LTS

Richten Sie ein Docker-Repository ein

Aktualisieren Sie die Pakete, installieren Sie die erforderlichen Pakete und installieren Sie den offiziellen öffentlichen Docker GPG-Schlüssel.

$ sudo apt update
$ sudo apt install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"

Docker-Installation

Installieren Sie die neueste Version von Docker.

$ sudo apt update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Bestätigen Sie die Installation.

$ sudo docker --version
$ sudo systemctl status docker

Führen Sie beim Einstellen des Proxys die folgenden Schritte aus.

Erstellen Sie eine Proxy-Einstellungsdatei und schreiben Sie die erforderlichen Einstellungen.

$ sudo mkdir -p /etc/systemd/system/docker.service.d
$ sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf

http-proxy.conf


[Service]
  Environment="HTTP_PROXY=http://proxy.example.com:8080/"
  Environment="HTTPS_PROXY=http://proxy.example.com:8080/"

Übernehmen Sie die Änderungen und spiegeln Sie die Einstellungen wider. Stellen Sie sicher, dass es am Ende eingestellt ist.

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ systemctl show --property=Environment docker

Wenn die in der Einstellungsdatei beschriebenen Informationen angezeigt werden, ist der Vorgang abgeschlossen.

Nehmen Sie Einstellungen vor, um Docker-Befehle ohne sudo auszuführen.

Lassen Sie uns zunächst die aktuelle Situation überprüfen.

$ docker images

Bei verweigerter Berechtigung tritt ein Fehler auf.

Fügen Sie den Zielbenutzer in die Docker-Gruppe ein. Bitte melden Sie sich einmal beim Zielbenutzer an.

$ sudo usermod -aG docker ${USER}
$ su - ${USER}

Bestätigen Sie, dass die Einstellungen vorgenommen wurden.

$ docker images

Wenn keine Fehler auftreten, sind Sie fertig.

2. Verschiedene Docker-Befehle

Docker Start / Stopp / Statusprüfung

$ sudo systemctl start docker
$ sudo systemctl stop docker
$ sudo systemctl status docker

Bildersuche

$ docker search [OPTIONS] TERM

Durch Einfügen von httpd, mysql usw. in TERM wird das bereitgestellte Repository angezeigt.

Versuchen Sie beispielsweise, mit httpd zu suchen.

$ docker search httpd

Die folgenden Ergebnisse wurden zurückgegeben.

NAME                                    DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
httpd                                   The Apache HTTP Server Project                  3261                [OK]
centos/httpd-24-centos7                 Platform for running Apache httpd 2.4 or bui…   36
centos/httpd                                                                            33                                      [OK]
arm32v7/httpd                           The Apache HTTP Server Project                  9
polinux/httpd-php                       Apache with PHP in Docker (Supervisor, CentO…   4                                       [OK]
salim1983hoop/httpd24                   Dockerfile running apache config                2                                       [OK]
solsson/httpd-openidc                   mod_auth_openidc on official httpd image, ve…   1                                       [OK]
publici/httpd                           httpd:latest                                    1                                       [OK]
clearlinux/httpd                        httpd HyperText Transfer Protocol (HTTP) ser…   1
hypoport/httpd-cgi                      httpd-cgi                                       1                                       [OK]
jonathanheilmann/httpd-alpine-rewrite   httpd:alpine with enabled mod_rewrite           1                                       [OK]
dariko/httpd-rproxy-ldap                Apache httpd reverse proxy with LDAP authent…   1                                       [OK]
lead4good/httpd-fpm                     httpd server which connects via fcgi proxy h…   1                                       [OK]
dockerpinata/httpd                                                                      0
interlutions/httpd                      httpd docker image with debian-based config …   0                                       [OK]
appertly/httpd                          Customized Apache HTTPD that uses a PHP-FPM …   0                                       [OK]
amd64/httpd                             The Apache HTTP Server Project                  0
manasip/httpd                                                                           0
trollin/httpd                                                                           0
e2eteam/httpd                                                                           0
manageiq/httpd_configmap_generator      Httpd Configmap Generator                       0                                       [OK]
itsziget/httpd24                        Extended HTTPD Docker image based on the off…   0                                       [OK]
manageiq/httpd                          Container with httpd, built on CentOS for Ma…   0                                       [OK]
ppc64le/httpd                           The Apache HTTP Server Project                  0

Sie können sehen, dass das Apache HTTP Server-Projekt offiziell ein Image mit dem Namen httpd veröffentlicht.

Bildaufnahme

$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Lassen Sie uns das httpd-Bild erhalten, nach dem wir zuvor gesucht haben.

$ docker pull httpd

Wenn Sie keine TAG angeben, wird die neueste Version abgerufen.

Using default tag: latest
latest: Pulling from library/httpd
852e50cd189d: Pull complete
67d51c33d390: Pull complete
b0ad2a3b9567: Pull complete
136f1f71f30c: Pull complete
01f8ace29294: Pull complete
Digest: sha256:fddc534b7f6bb6197855be559244adb11907d569aae1283db8e6ce8bb8f6f456
Status: Downloaded newer image for httpd:latest
docker.io/library/httpd:latest

Bildlistenanzeige

$ docker images [OPTIONS] [REPOSITORY]

Werfen wir einen Blick auf das Bild, das zuvor gezogen wurde.

$ docker images

Es wird wie folgt angezeigt.

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
httpd               latest              0a30f4c29d25        4 days ago          138MB

Container starten

$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Beginnen wir früher mit httpd.

$ docker run -d -p 8080:80 httpd

Die unten angezeigten alphanumerischen Zeichen, wenn der Docker-Ausführungsbefehl ausgeführt wird, sind die Container-ID. Wenn Sie diesen Container in Zukunft angeben, geben Sie diese ID an. Ich werde die Optionen erklären. -d: Im Hintergrund ausführen (andernfalls wird die Eingabeaufforderung vom Container gestohlen. Melden Sie sich ab und Sie befinden sich wieder auf der Hostseite.) -p: Geben Sie den Port an (diesmal ist der lokale Port 8080 und der Container-Port 80).

Eine andere Boot-Methode. Wenn Sie damit beginnen, wird die Eingabeaufforderung zur Eingabeaufforderung im Container.

$ docker run -p 8080:80 --name test01 -it httpd /bin/bash

--name: Geben Sie den Containernamen an -it: Geben Sie den Bildnamen an / bin / bash: Geben Sie den Befehl bei der Anmeldung an

Bestätigung des Containerprozesses

$ docker ps [OPTIONS]

Fügen Sie die Option -a hinzu, um die angehaltenen Prozesse anzuzeigen. Grundsätzlich sollten Sie den folgenden Befehl eingeben.

$ docker ps -a

Das Ausführungsergebnis wird wie folgt angezeigt.

CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS                      PORTS                  NAMES
cf4beeb4be04        httpd               "httpd-foreground"   3 seconds ago       Up 2 seconds                0.0.0.0:8080->80/tcp   pedantic_cohen
168d4374aa73        httpd               "/bin/bash"          7 minutes ago       Exited (0) 4 minutes ago                           test01

Die Ansicht ist wie folgt.

Spaltenname Erläuterung
CONTAINER ID Die ersten 12 Ziffern der Container-ID
IMAGE Originalbildname des Containers
COMMAND Befehl beim Start gegeben(Was wurde am Ende beim Start angegeben)
CREATED Verstrichene Zeit ab dem Datum, an dem der Container erstellt wurde
STATUS Start / Stopp-Status
PORTS Bindungsport(Hostseite 8080:Containerseite 80)
NAMES Der Name des Containers(Am Anfang--Was wird durch den Namen angegeben)

Melden Sie sich beim laufenden Container an

$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Versuchen Sie, sich oben im Container cf4beeb4be04 anzumelden.

$ docker exec -it cf4beeb4be04 /bin/bash

Behälter stoppen

$ docker stop [OPTIONS] CONTAINER [CONTAINER...]

Stoppen wir den Container, der zuvor gestartet wurde.

$ docker stop 5b43901894115d72415d265488225b957050accffcb27ce16382c97479be1d75

Starten eines gestoppten Containers

$ docker start [OPTIONS] CONTAINER [CONTAINER...]

Beginnen wir mit dem Container, der zuvor gestoppt wurde.

$ docker start 5b43901894115d72415d265488225b957050accffcb27ce16382c97479be1d75

Container löschen

$ docker rm [OPTIONS] CONTAINER [CONTAINER...]

test01 Versuchen Sie, den Container zu löschen.

$ docker rm test01

Versuchen Sie erneut, den Docker-Befehl ps auszuführen.

CONTAINER ID        IMAGE               COMMAND              CREATED             STATUS                      PORTS               NAMES
cf4beeb4be04        httpd               "httpd-foreground"   17 minutes ago      Exited (0) 4 minutes ago                        pedantic_cohen

Sie können sehen, dass es gelöscht wurde.

Lösche Bild

docker rmi [OPTIONS] IMAGE [IMAGE...]

Löschen wir das httpd-Bild. Geben Sie die Container-ID an, die in Docker-Bildern angezeigt wird.

docker rmi 0a30f4c29d25

Wenn es von Docker-Bildern erneut gelöscht wird, ist es abgeschlossen.

Schließlich

Dieses Mal habe ich Docker unter Ubuntu 18.04 installiert und versucht, die grundlegenden Befehle auf "Schlüssel" -Ebene von Docker zusammenzufassen. In Zukunft möchte ich zusammenfassen, was mir beim Bauen aufgefallen ist.

Recommended Posts

Versuchen Sie, Docker in Ubuntu auf WSL zu setzen
Verwenden Sie Docker in einer Proxy-Umgebung unter Ubuntu 20.04.1
Probieren Sie DisplayLink unter Ubuntu 20.04 aus
Versuchen Sie, ScalarDB unter WSL Ubuntu (Environment Construction) auszuführen.
Installationsanweisungen für Docker unter Ubuntu18.04 unter WSL2 und VSCode
Versuchen Sie, ScalarDB unter WSL Ubuntu auszuführen (Beispiel-App-Erstellung)
Installieren Sie Docker unter Ubuntu Server 20.04
Probieren Sie Docker unter Windows 10 Home aus
Oracle Java 8 unter Docker Ubuntu
Installieren Sie Java unter WSL Ubuntu 18.04
Installieren Sie Docker und Docker-Compose in kürzester Zeit auf Ubuntu
Konfigurationsskript für die Verwendung von Docker in einer Proxy-Umgebung unter Ubuntu 20.04.1
Probieren Sie Redmine auf dem Mac Docker aus
Versuchen Sie, CentOS 8 in Raspberry Pi 3 zu integrieren
Elmer / Ice Installation (Ubuntu auf WSL)
Verwenden von Docker mit Windows10 Home WSL2
Probieren Sie einfach C # 9 (.NET 5) in Docker aus
Bis Ubuntu 20 installiert ist und Docker unter Windows 10 Home und WSL2 ausgeführt wird
Ubuntu unter WSL2: Unter Unix kann keine Verbindung zum Docker-Daemon hergestellt werden
Windows Docker: Datenträgerdruck auf WSL-Datei
Installieren Sie Vivado in der WSL2 + Ubuntu 20.04 LTS-Umgebung
Führen Sie NordVPN im Docker (Windows) Ubuntu-Container aus
Verwenden Sie cljstyle mit Spacemacs unter Ubuntu unter WSL2
Bis Sie Apache mit Ubuntu auf Docker ausführen
Führen Sie Ubuntu + ROS mit Docker auf dem Mac aus
Setzen Sie Zabbix mit Docker in Ubuntu ein und überwachen Sie Docker auf demselben Host
Docker auf wsl2 sagt nicht mehr Ja oder Nein
Freiheit auf Docker
Installieren Sie einfach Laravel 8 auf dem Docker in der PHP8-Umgebung
Bedienen Sie Docker Desktop für Windows mit Linux (WSL)
Redmine auf Docker
Installieren Sie Ubuntu 20.04 in der virtuellen Box unter Windows 10 und erstellen Sie eine Entwicklungsumgebung mit Docker
Systemctl kann unter Ubuntu nicht in einem Docker-Container verwendet werden
Ich habe eine Ubuntu-Umgebung unter Windows 10 mit WSL2 erstellt.
Befehlsnotiz zum Installieren von xeyes in der Ubuntu-Docker-Umgebung
Bildschirmaufnahme unter Ubuntu 20.04
Web Bluetooth unter Ubuntu20.04
Docker-Installation unter CentOS 6
Probieren Sie OpenLiteSpeed unter CentOS8 aus
Python-Memo auf Docker
Explodiere Docker mit WSL2
Versuchen Sie LetCode in Ruby-TwoSum
Installieren Sie Docker auf Manjaro
Installieren Sie Ruby unter Ubuntu 20.04
JAVA_HOME unter Ubuntu einstellen