[Docker] Autres instructions Docker fréquemment utilisées (probablement)

Ensuite, cette fois, nous présenterons COPY, ADD, CMD, ENTRYPOINT, ENV, WORKDIR.

COPY Utilisé lors du transfert de fichiers de l'hôte au conteneur.

Comment écrire


COPY <Nom de fichier à copier> <Copier le répertoire de destination dans le conteneur>

Ceci est un exemple simple, mais c'est une description lors de la création d'un répertoire sur le système d'exploitation ubuntu et de la copie de fichiers.

Dockerfile


FROM ubuntu:latest
RUN mkdir /test_dir
COPY hoge.txt /test_dir

Il existe une autre commande pour ajouter un fichier au conteneur appelé ADD. ADD C'est une commande qui peut copier des fichiers et des dossiers dans un conteneur, mais il y a une différence décisive avec COPY. Vous pouvez ** copier + décompresser le fichier compressé de tar **. Si le fichier est lourd ou si la taille à transférer dans la hiérarchie de dossiers est importante et transmise au conteneur tel quel, il faudra du temps pour le transmettre au conteneur. Dans un tel cas, si vous l'écrivez dans ADD lorsque vous le compressez avec tar et le copiez dans le conteneur, la transmission elle-même sera rapide et elle sera développée à l'état décompressé.

Comment écrire


ADD <Nom du fichier compressé à copier> <Copier le répertoire de destination dans le conteneur>

La seule différence avec COPY est de savoir si le fichier est compressé, je vais donc omettre l'exemple.

ENTRYPOINT Comme avec CMD, spécifiez la dernière commande à exécuter pendant l'exécution du docker. «CMD» peut écraser une commande pendant l'exécution du docker, mais «ENTRYPOINT» ne peut pas écraser la dernière commande. Comme pour la méthode de description, CMD spécifie successivement l'argument comme [" commande "(," argument 1 "," argument 2 ")], mais ENTRYPOINT ne spécifie que la commande, et l'argument est Spécifiez en utilisant CMD. ** La commande ne peut pas être modifiée pour ENTRYPOINT, mais la partie d'argument spécifiée par CMD peut être écrasée. ** **

Comment écrire dans le cas de CMD


FROM ubuntu:latest
CMD ["commander", "Argument 1", "Argument 2"]

Comment écrire dans le cas du POINT D'ENTREE


FROM ubuntu:latest
ENTRYPOINT ["commander"]
CMD ["Argument 1", "Argument 2"]

Fondamentalement, je pense que «CMD» est suffisant.

ENV Vous pouvez définir des variables d'environnement. Il existe différentes manières de le décrire. Il est également possible d'écrire plusieurs éléments côte à côte comme indiqué dans le troisième exemple ci-dessous.

Comment écrire


ENV key1 val
ENV key2=val
ENV key3=val3 key3=val3

Lorsque vous écrivez plusieurs éléments à la fois, s'il y a un espace demi-largeur dans la valeur de la variable d'environnement (val ci-dessus), vous pouvez le définir en le mettant entre guillemets ou en l'échappant.

Comment décrire plusieurs paramètres ENV sur une seule ligne


ENV key4="v a l 4" key5=v\ a\ l\ 5

S'il n'y a qu'une seule ligne, vous pouvez écrire comme suit.

Comment décrire les paramètres de variable d'environnement mélangés avec de l'espace dans un ENV


ENV key6 v a l 6

Vous pouvez maintenant faire des choses comme passer le chemin à l'intérieur du conteneur.

WORKDIR Vous pouvez changer le répertoire dans lequel la commande exécutée par RUN décrite dans le Dockerfile est exécutée.

Comment écrire


Chemin absolu WORKDIR

S'il s'agit de cd, il reviendra à la racine à chaque fois que RUN est fait, donc si vous voulez réparer le répertoire de travail et exécuter RUN, utilisez WORKDIR pour déplacer le répertoire. ..

La fin

Cette commande conclut l'introduction des instructions de base de Docker. En combinant avec les commandes introduites la dernière fois, je pense que vous pouvez couvrir les commandes que vous utilisez fréquemment. Docker est pratique, alors essayez-le.

Recommended Posts

[Docker] Autres instructions Docker fréquemment utilisées (probablement)
Résumé des commandes fréquemment utilisées dans Rails et Docker
Commande docker-compose fréquemment utilisée
Génériques Java fréquemment utilisés
Liste des instructions Java fréquemment utilisées (pour les débutants et les débutants)
Notes d'opération fréquemment utilisées d'IntelliJ
Processus fréquemment utilisés dans SpreadSheet
console de rails Opérations fréquemment utilisées
Collection de commandes Maven fréquemment utilisée