[LINUX] Neat, dont l'emploi a été reporté à Corona, a lancé Docker, je vais donc laisser une note personnelle.

introduction

Après avoir obtenu des informations de base dans une école professionnelle, je suis allé dans un emploi d'urbanisme et de villégiature à temps partiel qui m'intéressait pendant environ un an, et je cherchais un emploi d'ingénieur et exercais des activités professionnelles ( À partir de mars environ). Cependant, en raison de l'influence du virus corona, même si je reçois une offre d'emploi, je rejoins l'entreprise depuis juillet et il est difficile de trouver un endroit où je puisse travailler le plus récemment. Donc, comme le titre l'indique, je défie Docker, pensant que je devrais quand même améliorer mes compétences. Quand j'étais étudiant, j'étudiais principalement le développement d'applications Android, mais j'ai un fort désir d'entrer en contact avec diverses technologies, donc je voulais commencer par une solide compréhension de linuxOS. Ce serait formidable si nous pouvions profiter de cette occasion pour envoyer des fiches d'apprentissage. Alors merci. Je veux expérimenter diverses choses dans la pratique le plus tôt possible. .. !!

Docker

le terme

Docker Hub: un registre qui gère les images Docker pendant que Github gère le code Fichier Docker: document de conception pour créer une image Docker Image Docker: créer un conteneur, distribuable Conteneur Docker: environnement virtuel pour le développement réel

Utilisation de Docker

Doker Login

$docker login

Doker image Pull

$docker pull {Nom de l'image:Nom du TAG}

Exemple de sortie

$docker pull hello-world:latest
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

Ligne 2: la bibliothèque pointe vers la bibliothèque Docker Hub https://hub.docker.com/u/library/

Vérifiez l'image Docker locale

$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        3 months ago        13.3kB
node                latest              a8d7efbae951        6 months ago        908MB

Créer un conteneur

$docker run {Nom de l'image}
//Pour exécuter uniquement, créez simplement un conteneur!
//Si vous souhaitez continuer à travailler ↓
$docker run -it {Nom de l'image:Nom du TAG} bash
//Si vous souhaitez spécifier plus de noms
$docker run --name {Nom du conteneur} -it {Nom de l'image:Nom du TAG} bash

Exemple de sortie

$docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Afficher le conteneur

$docker ps -a

Entrez un conteneur existant

$docker exec {Nom du conteneur}
#Pour entrer dans le conteneur et commencer bash
$docker exec {Nom du conteneur} -it bash

Sortez du conteneur

#En cas de sortie, le conteneur est terminé, un redémarrage est donc nécessaire pour rentrer dans le conteneur.
$exit
#Redémarrer
$docker restart {Nom ou ID du conteneur}

détacher

Si vous ne souhaitez pas maintenir le conteneur en cours d'exécution, utilisez "ctrl + p + q" au lieu de la commande. attach

$docker attach {Nom du conteneur/ID}

À propos de la suppression de l'image et du conteneur Docker

Supprimer le conteneur Docker

#Plusieurs spécifications sont possibles
$docker rm {ID du conteneur}

Supprimer l'image Docker localement

⚠ Notez que l'image qui crée le conteneur ne peut pas être supprimée.

$docker rmi {Nom de l'image}

Télécharger l'image sur Docker Hub

commit

commit consiste à enregistrer le conteneur Docker en tant qu'image Docker.

$docker commit {Nom du conteneur/ID} {Nouveau nom de l'image Docker(:Nom de la balise)}

push Poussez l'image Docker vers Docker Hub. Dans le docker, la destination de l'envoi est décidée en fonction du nom de l'image, de sorte que le nom du référentiel = nom de l'image et la version sont généralement gérés par le nom de la balise.

#Créez d'abord un référentiel de destination sur Docker Hub
$docker push {Nom du référentiel}

Seule la nouvelle couche est poussée car elle économise du stockage en ayant la même couche d'image entre les images.

Changer le nom de l'image Docker

#Pour renommer et enregistrer l'image
$docker tag {Nom de l'image d'origine:nom de balise} {Nouveau nom d'image:nom de balise}

DockerFile

Créer un fichier Docker

#Si le nom du fichier est DockerFile
$docker build {Chemin du répertoire}
#Options lors de l'utilisation d'un fichier Docker autre que le nom Docker File
#⚠ Fondamentalement, le nom de DockerFile est généralement DockerFile tel quel.
$docker build {Chemin du répertoire} -f option {nom de fichier}

Exemple de DockerFile

#Image Docker basée sur FROM
FROM ubuntu:latest
#RUN Imagelayer superposé au-dessus de l'exécution de ce qui précède
RUN touch test
#COPY Image copie des données hôte
COPY test.md /test_dir

référence

J'ai beaucoup appris. Merci beaucoup! DockerDocumentation Cours d'introduction Super Docker Comment supprimer l'image et le conteneur Docker

Recommended Posts

Neat, dont l'emploi a été reporté à Corona, a lancé Docker, je vais donc laisser une note personnelle.
Construction d'environnement Postgres avec Docker J'ai eu un peu de mal, alors notez
Depuis que j'ai commencé à travailler à des moments différents, j'ai créé un Bot qui me dit l'heure de quitter le travail
J'étais accro à essayer Cython avec PyCharm, alors prenez note