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. ..
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