Dans la sortie lors de la construction, je reçois ce message:
[sortie coupée, limite de journal 1mib atteint]
de la commande
docker build --progress plain.
La solution de contournement actuelle que j'ai est de tuer des sections plus grandes de la commande RUN dans le dockerfile vers / dev / null, c'est-à-dire
< pre> xxx pre>4 Réponses :
Avec le lien clé fourni par @luke deluccia, c'est ce qui a fonctionné pour moi.
docker buildx create --use --name larger_log --driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=50000000 docker buildx build --progress plain .
Cela crée une instance buildX et définit BuildX pour utiliser l'instance lors de la construction. Cela n'a pas fixé les journaux pendant le processus de construction.
Heureux que cela a également fonctionné pour vous. Le seul problème est qu'il n'utilise pas le contexte du générateur par défaut, ce que beaucoup souhaitent. Si je trouve une solution pour cela, je le publierai ici.
Je comprends: Erreur: Échec de la résolution: RPC Erreur: Code = inconnu desc = Échec de la lecture de DockerFile: Open / TMP / BuildKit-Mount113931619 / DockerFile: Aucun fichier ou répertoire Code>
L'autre solution est pour docker buildx
, mais certains peuvent vouloir un correctif pour docker build
avec docker_buildkit = 1
. Ce qui suit fonctionne pour moi sur ubuntu18.04
et docker version 5: 20.10.3 ~ 3-0 ~ ubuntu-bionic
.
systemctl daemon-reload systemctl restart docker.service
Alors:
# cat /etc/systemd/system/docker.service.d/env.conf [Service] Environment="BUILDKIT_STEP_LOG_MAX_SIZE=1073741824" # you might want to tweak this Environment="BUILDKIT_STEP_LOG_MAX_SPEED=10240000"
était sur WSL2 Docker. La solution BuildX n'a pas fonctionné en quelque sorte.
Mais désactiver BuildKit et tuyau de la sortie dans un fichier a fonctionné pour moi
ainsi à faire cela dans un shell bash a fonctionné pour moi:
export DOCKER_BUILDKIT=0 docker build --progress plain ./ > logoutput.txt
Cette réponse à complete @alexandersergeyev Réponse.
Cela ne fonctionnait pas pour moi sur Ubuntu 20.04 parce que /etc/systemd/system/docker.service.d
Le dossier n'existe pas.
De plus, ma version docker est
systemctl daemon-reload systemctl restart docker.service
Je dois le faire à la place:
Environment="BUILDKIT_STEP_LOG_MAX_SIZE=1073741824" Environment="BUILDKIT_STEP_LOG_MAX_SPEED=10240000"
puis sous la balise [service]
, mettez ces lignes:
sudo vim /etc/systemd/system/multi-user.target.wants/docker.service
puis redémarrer Docker Daemon:
Docker version 20.10.6, build 370c289
Vous pouvez définir un logsize plus grand avec
- Driver-opt env.buildkit_step_log_max_size = 10485760
(c'est-à-dire 10mib)pourrait également utiliser tout à fait Flag
-qq
, combinant-yqq
Pour ajouter un peu de clarté, je cherche à afficher la sortie du journal pour voir où la construction échoue. -QQ ou Envoi à / dev / null fonctionne très bien, mais je ne vois pas la sortie que je recherche lors du dépannage.
- Driver-Opt
n'est pas un indicateur disponible. `` `docker build --driver-opt env.buildkit_step_log_max_size = 10485760. Indicateur inconnu: - Driver-opt Voir 'docker build - help'. `` Je suppose que le drapeau - Driver-OPT a été tiré de BuildX, mais cela ne semble pas être une option pour BuildX à moins que vous n'activez le mode expérimental. - Tester le mode expérimental avec BuildX maintenant.J'ai pu contourner ce problème en créant un constructeur avec
docker buildx Create --driver-opt env.buildkit_step_log_max_size = 50000000
puis en utilisant le constructeur avecdocker buildx build
, puis mais n'ont pas été en mesure de résoudre le problème lors de l'utilisation du constructeur par défaut etdocker build
.