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