J'ai installé Docker sur Ubuntu 18.04 sur WSL2 et j'ai essayé de le toucher, je vais donc laisser une note.
La construction Ubuntu sur WSL2 est résumée dans l'article suivant. J'ai essayé de construire Ubuntu 18.04 sur WSL
19.03.13
Installez en vous référant au site suivant. Installer Docker sur Ubuntu 18.04 LTS
Mettez à jour les packages, installez les packages requis et installez la clé publique officielle de Docker GPG.
$ 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"
Installez la dernière version de Docker.
$ sudo apt update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Confirmez l'installation.
$ sudo docker --version
$ sudo systemctl status docker
Créez un fichier de paramètres proxy et écrivez les paramètres requis.
$ 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/"
Appliquez les modifications et reflétez les paramètres. Assurez-vous qu'il est défini à la fin.
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
$ systemctl show --property=Environment docker
Lorsque les informations décrites dans le fichier de paramètres sont affichées, le processus est terminé.
Commençons par vérifier la situation actuelle.
$ docker images
Une erreur se produira avec l'autorisation refusée.
Placez l'utilisateur cible dans le groupe Docker. Veuillez vous connecter une fois à l'utilisateur cible.
$ sudo usermod -aG docker ${USER}
$ su - ${USER}
Confirmez que les paramètres ont été définis.
$ docker images
Si aucune erreur ne se produit, vous avez terminé.
$ sudo systemctl start docker
$ sudo systemctl stop docker
$ sudo systemctl status docker
$ docker search [OPTIONS] TERM
En mettant httpd, mysql, etc. dans TERM, le référentiel fourni est affiché.
Par exemple, essayez de rechercher avec httpd.
$ docker search httpd
Les résultats suivants ont été renvoyés.
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
Vous pouvez voir que The Apache HTTP Server Project publie officiellement une image nommée httpd.
$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]
Obtenons l'image httpd que nous avons recherchée plus tôt.
$ docker pull httpd
Si vous ne spécifiez pas TAG, la dernière version sera extraite.
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]
Jetons un coup d'œil à l'image qui a été tirée plus tôt.
$ docker images
Il sera affiché comme suit.
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest 0a30f4c29d25 4 days ago 138MB
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Commençons httpd plus tôt.
$ docker run -d -p 8080:80 httpd
Les caractères alphanumériques affichés ci-dessous lorsque la commande docker run est exécutée seront l'ID du conteneur, et lorsque vous spécifiez ce conteneur à l'avenir, spécifiez cet ID. Je vais vous expliquer les options. -d: s'exécute en arrière-plan (si vous ne l'activez pas, l'invite sera volée par le conteneur. Si vous vous déconnectez, vous serez renvoyé côté hôte.) -p: Spécifiez le port (cette fois, le port local est 8080 et le port conteneur est 80)
Une autre méthode de démarrage. Lorsqu'il est démarré avec cela, l'invite devient l'invite dans le conteneur.
$ docker run -p 8080:80 --name test01 -it httpd /bin/bash
--name: spécifiez le nom du conteneur -it: Spécifiez le nom de l'image / bin / bash: spécifiez la commande lors de la connexion
$ docker ps [OPTIONS]
Pour voir les processus arrêtés, ajoutez l'option -a. Fondamentalement, vous devez taper la commande suivante.
$ docker ps -a
Le résultat de l'exécution est affiché comme suit.
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
La vue est la suivante.
Nom de colonne | Explication |
---|---|
CONTAINER ID | 12 premiers chiffres de l'ID du conteneur |
IMAGE | Nom d'image d'origine du conteneur |
COMMAND | Commande donnée au démarrage(Ce qui a été spécifié à la fin au démarrage) |
CREATED | Temps écoulé depuis la date de création du conteneur |
STATUS | État de démarrage / arrêt |
PORTS | Port de liaison(Côté hôte 8080:Côté conteneur 80) |
NAMES | Le nom du conteneur(Au démarrage--Ce qui est spécifié par le nom) |
$ docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
Essayez de vous connecter au conteneur cf4beeb4be04 ci-dessus.
$ docker exec -it cf4beeb4be04 /bin/bash
$ docker stop [OPTIONS] CONTAINER [CONTAINER...]
Arrêtons le conteneur qui a été démarré plus tôt.
$ docker stop 5b43901894115d72415d265488225b957050accffcb27ce16382c97479be1d75
$ docker start [OPTIONS] CONTAINER [CONTAINER...]
Commençons le conteneur qui a été arrêté plus tôt.
$ docker start 5b43901894115d72415d265488225b957050accffcb27ce16382c97479be1d75
$ docker rm [OPTIONS] CONTAINER [CONTAINER...]
test01 Essayez de supprimer le conteneur.
$ docker rm test01
Essayez à nouveau d'exécuter la commande docker ps.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cf4beeb4be04 httpd "httpd-foreground" 17 minutes ago Exited (0) 4 minutes ago pedantic_cohen
Vous pouvez voir qu'il a été supprimé.
docker rmi [OPTIONS] IMAGE [IMAGE...]
Supprimons l'image httpd. Spécifiez l'ID de conteneur affiché dans les images du docker.
docker rmi 0a30f4c29d25
S'il est à nouveau supprimé par les images du docker, il est terminé.
Cette fois, j'ai installé Docker sur Ubuntu 18.04 et j'ai essayé de résumer les commandes de base de niveau "clé" de Docker. À l'avenir, je voudrais résumer ce que j'ai remarqué lors de la construction.
Recommended Posts