Ich habe Docker unter Ubuntu 18.04 unter WSL2 installiert und versucht, es zu berühren, daher werde ich eine Notiz hinterlassen.
Die Ubuntu-Konstruktion auf WSL2 wird im folgenden Artikel zusammengefasst. Ich habe versucht, Ubuntu 18.04 auf WSL zu erstellen
19.03.13
Installieren Sie auf der folgenden Website. Installieren Sie Docker unter Ubuntu 18.04 LTS
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"
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
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.
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.
$ sudo systemctl start docker
$ sudo systemctl stop docker
$ sudo systemctl status docker
$ 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.
$ 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
$ 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
$ 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
$ 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) |
$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Versuchen Sie, sich oben im Container cf4beeb4be04 anzumelden.
$ docker exec -it cf4beeb4be04 /bin/bash
$ docker stop [OPTIONS] CONTAINER [CONTAINER...]
Stoppen wir den Container, der zuvor gestartet wurde.
$ docker stop 5b43901894115d72415d265488225b957050accffcb27ce16382c97479be1d75
$ docker start [OPTIONS] CONTAINER [CONTAINER...]
Beginnen wir mit dem Container, der zuvor gestoppt wurde.
$ docker start 5b43901894115d72415d265488225b957050accffcb27ce16382c97479be1d75
$ 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.
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.
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