[Docker] Introduction de l'instruction de base de Docker

De plus, je vais laisser un peu la charge de Docker, alors j'aimerais aussi écrire un mémorandum. Cette fois, je présenterai brièvement FROM, RUN et CMD.

FROM Le Dockerfile décrit le FROM pour déterminer l'image de base. Lors de la spécification de l'image de la dernière version de ex.ubuntu

FROM ubuntu:latest

Jusqu'à ce que vous vous y habituiez, c'est une bonne idée d'en spécifier un qui possède tous les outils dont vous avez besoin. Une fois que vous vous y êtes habitué, vous devriez envisager d'ajouter les outils que vous souhaitez uniquement avec le système d'exploitation.

RUN Vous pouvez utiliser cette commande pour personnaliser ce dont votre serveur a besoin à votre guise.

ex. Créez des fichiers test1.txt et test2.txt sur le système d'exploitation d'image

Dockerfile


RUN touch test1.txt
RUN touch test2.txt

Il est possible de préparer l'environnement sur le système d'exploitation d'image en exécutant la commande RUN avec plusieurs lignes, mais un calque est créé pour chaque RUN. Veuillez noter que l'image s'agrandit à mesure que le nombre de couches augmente.

Ingéniosité pour réduire les couches

Si vous devez utiliser plusieurs commandes de création de couches RUN, COPY et ADD, utilisez && pour connecter les commandes. Si une ligne devient longue, le Dockerfile sera difficile à voir, alors utilisez \ (barre oblique inverse) pour couper la ligne.

Dockerfile


RUN apt-get update
RUN apt-get install aaa
RUN apt-get install bbb
RUN apt-get install ccc

Dockerfile


RUN apt-get update && apt-get install aaa bbb ccc

↓ Au fur et à mesure que le nombre de packages d'installation augmente, cela devient difficile à voir, alors arrangez-vous avec des sauts de ligne.

Dockerfile


RUN apt-get update && apt-get install \
aaa \
bbb \
ccc```

 Vous devez entrer l'autorisation d'exécution y de manière interactive, donc si vous entrez -y, ce qui signifie oui, l'installation se déroulera sans problème.


#### **`Dockerfile`**
```docker

RUN apt-get update && apt-get install \
aaa \
bbb \
ccc

Utiliser efficacement le cache

Lors de l'écriture pour installer l'outil avec apt-get etc., aaa et bbb ont été installés un par un, alors connectez-les et écrivez ccc et essayez ... et chaque fois que vous accédez au réseau pour obtenir le résultat de l'exécution Cela se produira.

Si vous souhaitez installer l'outil aaa bbb ccc

Dockerfile


RUN apt-get install \
aaa \
bbb

Puisque cela a fonctionné, si vous continuez à écrire ccc, le cache ne sera pas utilisé et tout sera extrait du réseau.

Dockerfile


RUN apt-get install \
aaa \
bbb \
ccc

↓ Tout d'abord, écrivez dans un RUN différent.

Dockerfile


RUN apt-get install \
aaa \
bbb
RUN apt-get ccc

Tout d'abord, je vais essayer de voir si cela fonctionne bien en divisant les choses à ajouter plus tard. J'espère que vous pourrez éliminer la perte d'une série de temps entre la description et l'exécution en écrivant sur une seule ligne.

CMD -En écrivant à la fin du Dockerfile, vous pouvez spécifier la commande à exécuter par défaut dans le conteneur. CMD ["commande", "paramètre 1", "paramètre 2", "paramètre 3"] ex. Lancer Bash

FROM ...
RUN ...
CMD ["bin/bash"]

La fin

Si vous souhaitez créer un environnement tel qu'un simple serveur Web avec les commandes présentées ci-dessus: FROM, RUN, CMD, vous pourrez le créer. Docker est pratique, alors essayez-le.

Recommended Posts

[Docker] Introduction de l'instruction de base de Docker
Introduction de Docker - Partie 1--
[Docker] Introduction à docker compose Résumé de base de docker-compose.yml
Introduction de pay.jp
Introduction de milkode
commande de base docker
Introduction de Docker Hub et des commandes Auto-apprentissage ①
[Docker] Introduction des options de base (partage, utilisateur, port, CPU / mémoire) pendant l'exécution de Docker
[Rails] Présentation de PAY.JP
Introduction de l'authentification des utilisateurs
Introduction à Java pour les débutants Connaissance de base du langage Java ①
[Rails] Introduction aux principes de base du dispositif
Surveillance Docker-expliquant les bases des bases-
À propos du fonctionnement simple de Docker
Je n'ai entendu parler que de Docker ...
Utilisation super basique d'Eclipse
[Ruby] Liste des commandes de base
Résumé des fonctions de base d'ImageJ
Manuel Docker Compact (1: Commandes de base / de base)
Introduction de javaFX dans Eclipse (2020-avril)
Introduction à Linux Container / Docker (Partie 1)
Comprendre le mécanisme de base de log4j2.xml
[Rails] Introduction de Rubocop par les débutants
[Java] Types de base et notes d'instructions
Connaissance de base de Ruby on Rails
Utilisation de base de Java Facultatif Partie 1
Introduction à Linux Container / Docker (Partie 2)
Résumé des commandes Docker fréquemment utilisées
De l'introduction à l'utilisation de byebug
Flux de traitement de base de Java Stream
Docker [Suppression par lots de balises <aucun>]
[Connaissance de base de Java] Portée des variables
Structure de base du code source Java
[Résumé des livres techniques] Résumé de la lecture "Introduction au développement pratique de conteneurs de Docker / Kubernetes"