-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't upgrade/uninstall pip packages in Dockerfile #30
Comments
Strange. I wonder if this issue is related?: docker/for-linux#480 What Linux kernel version are you running? What does this output on the worker?: sudo cat /sys/module/overlay/parameters/metacopy If that prints echo N | sudo tee /sys/module/overlay/parameters/metacopy |
Hey @vito, Linux version of what? I'm using your vito/oci-build-task container. The only thing that I can get is this output when building the Dockerfile:
|
Containers don't determine the Linux version - that's up to your worker machine's kernel which is running all the containers.
Thanks, that works! Looks like you're running 4.4, which is before Unfortunately that was my only bright idea. This task is really just a wrapper around BuildKit, so I'm not really sure if there's anything I can do to fix this myself. I just pushed v0.4.0 which bumps BuildKit to v0.7.2, so I guess you could try that to see if anything changes. |
For what it's worth, that kernel version is over 4 years old. Would it be possible to upgrade? The latest LTS release is 5.4. |
Hello, I've tried with our infrastructure running Concourse 6.4 with workers featuring kernel 4.15 and there the problem seems to be non-existent. So, we can close this issue. Thanks for the help! :) Regards, |
@skrech Awesome, good to know - closing! |
Hello,
Since recently our team is migrating to Concourse. I'm using oci-build-task to build my images and noticed that some of the builds are failing when trying to upgrade some of the pip packages in two different layers of a Dockerfile. Fortunately, it's easy to reproduce with dockerfile like this one:
Here "six" package is installed firstly by python-tox and then I need to upgrade it in subsequent step. However, intentionally I've commented the upgrade step and replaced it with uninstall -- this way we can clearly see where is the problem. With this setup the error message is:
I start the project on Concourse 5.8 with the following command:
fly -t rw execute -c test.yaml -i code="." --privileged
With the following test.yaml in the same dir as the Dockerfile:
The version installed from apt-get is pip-9.. which is working fine, however it's now deprecated. Our internal artifactory server insists on newer version of pip. However, with every version >9.. the previous error is displayed.
The interesting thin is that I tried on my Mac to build this image:
docker build -t test .
And with Buildkit as well:
DOCKER_BUILDKIT=1 docker build -t test .
Both of these commands succeed on the Mac.
Moreover, this Docker file is building fine on Concourse with DCinD (this task: https://github.com/meAmidos/dcind).
That being said, I suspect that the problem is in 'pip'! There is even a bug report opened on github for this last year:
pypa/pip#6943
However, the reason I'm writing the bug report here is because I don't really know what is going on under the hood either in oci-build-task or Concourse. Or maybe Buildkit is confusing something? Or maybe Buildkit in docker container is complicating stuff? The thing is that these docker image builds are not working only in this configuration: Concourse + oci-build-task. Apparently, python/pip is seeing the specific file located on different FS.
Regards,
Kristiyan
The text was updated successfully, but these errors were encountered: