web-dev-qa-db-fra.com

Commande/option Docker pour afficher ou répertorier le contexte de construction

Existe-t-il une commande/option permettant d'afficher ou de répertorier le contexte envoyé au démon Docker pour la construction d'une image?

$ docker build -t "image-name"
Sending build context to Docker daemon 8.499 MB
...

Les fichiers et les répertoires peuvent être exclus du contexte de construction en spécifiant des modèles dans un fichier .dockerignore . Je suppose que ce que je recherche revient à tester le .dockerignore en plus de toute autre règle de niche utilisée par Docker pour déterminer le contexte.

15
Steve

Le seul moyen serait d'ajouter le répertoire actuel à un répertoire spécifique et de le répertorier.

Essayez de construire avec ce fichier Dockerfile:

FROM busybox

RUN mkdir /tmp/build/
# Add context to /tmp/build/
COPY . /tmp/build/

Construisez-le avec:

docker build -t test .

Répertoriez tous les fichiers et répertoires de/tmp/build:

docker run --rm -it test find /tmp/build
17
Ricardo Branco

Réponse mise à jour: depuis 2017, Docker a recommandé d'utiliser COPY au lieu de ADD et avec le commentaire de @tlrobinson, le fichier Dockerfile plus simple ressemble à ceci:

# debug and list the docker build context so that you can minimmize it
#
# usage:
#  docker build -f docker/context.Dockerfile -t test/buildcontext .
#
######################
FROM busybox

RUN mkdir /tmp/build/
# Add context to /tmp/build/
COPY . /tmp/build

# this last command outputs the list of files added to the build context:
RUN find /tmp/build/

0
Jesper Rønn-Jensen