Reputation: 1152
In the output when building, I am getting this message:
[output clipped, log limit 1MiB reached]
from the command
docker build --progress plain .
The current workaround I have is to pipe larger sections of the RUN command in the dockerfile to /dev/null i.e.
RUN \
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev wget maven default-jdk > /dev/null
Upvotes: 52
Views: 33049
Reputation: 1
To complete @AlexanderSergeyev response (works for me on gentoo distribution):
Some might want a fix for docker build
with DOCKER_BUILDKIT=1
.
mkdir -p /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/env.conf <<EOF
[Service]
Environment="BUILDKIT_STEP_LOG_MAX_SIZE=1073741824" # you might want to tweak this
Environment="BUILDKIT_STEP_LOG_MAX_SPEED=10240000"
EOF
systemctl daemon-reload
systemctl restart docker.service
Upvotes: 0
Reputation: 6781
The quickest and least invasive workaround (with no docker daemon restart required) is to temporarily switch off Docker Buildkit with the DOCKER_BUILDKIT
env var.:
export DOCKER_BUILDKIT=0 && docker build --tag latestml/test:latest .
Upvotes: 0
Reputation: 985
According to the source it's possible to completely eliminate any limitations using -1
value for both variables:
$ docker buildx create --bootstrap --use --name buildkit \
--driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=-1 \
--driver-opt env.BUILDKIT_STEP_LOG_MAX_SPEED=-1
$ docker buildx build --progress plain .
Upvotes: 1
Reputation: 2946
Windows 11, Docker Desktop, Docker version 20.10.17.
To turn off BUILDKIT, in the Docker Desktop settings, under "Docker Engine" on the left side, if there's a json block like:
"features": {
"buildkit": true
}
change it to false
. If the features
block isn't there, it should be under the root {
, add it with "buildkit": false
.
Upvotes: 2
Reputation: 357
for windows:
in cmd run the command:
set DOCKER_BUILDKIT=0
and restart docker desktop
Upvotes: 1
Reputation: 43
This answer to complete @AlexanderSergeyev answer's.
This was not working for me on Ubuntu 20.04 because /etc/systemd/system/docker.service.d
folder does not exists.
Also, my Docker version is
Docker version 20.10.6, build 370c289
I have to do this instead:
sudo vim /etc/systemd/system/multi-user.target.wants/docker.service
Then under the [Service]
tag, put those lines:
Environment="BUILDKIT_STEP_LOG_MAX_SIZE=1073741824"
Environment="BUILDKIT_STEP_LOG_MAX_SPEED=10240000"
And then restart docker daemon:
systemctl daemon-reload
systemctl restart docker.service
Upvotes: 4
Reputation: 8284
Was on WSL2 docker. The buildx solution somehow didn't work.
But disabling buildkit and piping the output into a file worked for me
So doing this in a bash shell worked for me:
export DOCKER_BUILDKIT=0
docker build --progress plain ./ > logoutput.txt
Upvotes: 10
Reputation: 972
The other solution is for docker buildx
, but some might want a fix for docker build
with DOCKER_BUILDKIT=1
. The following works for me on ubuntu18.04
and docker version 5:20.10.3~3-0~ubuntu-bionic
.
# 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"
Then:
systemctl daemon-reload
systemctl restart docker.service
Upvotes: 10
Reputation: 1152
With the key link provided by @Luke Deluccia, this is what worked for me.
docker buildx create --use --name larger_log --driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=50000000
docker buildx build --progress plain .
This creates a buildx instance, and sets buildx to use the instance when building. This did not clip the logs during the build process.
Upvotes: 32