Nous pouvons utiliser WORKDIR
pour définir un répertoire comme répertoire de travail dans Dockerfile
, mais quelle est la valeur par défaut si nous ne définissons pas?
dit que c'est /
, donc le répertoire racine
La valeur par défaut est bien /
comme indiqué ailleurs. Il convient toutefois de mentionner que vous ne lancerez presque jamais à partir d'une image de menu fixe vide (FROM scratch
), de sorte que la variable WORKDIR
est probablement définie par l'image de base que vous utilisez.
Par exemple, https://github.com/docker-library/Tomcat/blob/master/Dockerfile-Alpine.template a WORKDIR $CATALINA_HOME
, et https: // github .com/dockerfile/ubuntu/blob/master/Dockerfile a WORKDIR /root
. ( https://hub.docker.com/r/base/archlinux/~/dockerfile/ n'utilise cependant pas WORKDIR
.)
Il est donc préférable de définir explicitement votre propre WORKDIR
.
Le répertoire de travail par défaut pour l'exécution des fichiers binaires dans un conteneur est le répertoire racine (/
), mais le développeur peut définir une valeur par défaut différente avec la commande Dockerfile WORKDIR. L'opérateur peut remplacer ceci avec:
-w="": Working directory inside the container
Comme il n'y a pas d'utilisateurs mais une racine dans un docker juste né ou un conteneur à proprement parler. Donc, pour chaque changement, il y aura un commit pour ce conteneur comme indiqué par le gars . Par conséquent, le mot de passe correspondant à celui-ci ou, comme vous l'avez demandé, à WORKDIR est /
root par défaut et chaque fois que vous exécutez un /bin/bash
comme ceci:
$docker exec -i -t 53f784fwer54 /bin/bash
sur un conteneur en cours d'exécution, il vous placera ici /
dans le répertoire racine.