-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Revamp docker image #1146
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
Revamp docker image #1146
Conversation
|
We'd have to update a lot of docs and a large amount of infra for these changes. What is your goal? |
Can you point to some example, please? I thought I had not broken any use case. |
|
For one the packages we install are required packages on Linux. So dozens (hundreds?) of pkgx packages will no longer work if we remove them. The bash stuff is so the usage examples we offer for our image work. I added CLICOLOR_FORCE because otherwise colors were not working. The debian choice is so we use the correct glibc, and while it should be safe to upgrade it I'd rather not considering we have not tested anything else. What is your goal? Our goal for this image is for demonstration purposes. What do you seek to do with these changes? |
Can you point me to one? I tested running some crazy packages like Java and Python, and a few other, they all worked fine.
I want to use this image in some of my services:
database:
image: postgres
maintainer:
image: pkgxdev/pkgx:v2
volumes:
- ./scripts:/maintainer/scripts
entrypoint:
- bash
- -c
- set -eux; while true; do /maintainer/scripts/cleanup_db.sh; sleep 1h done;And then in my script something like: #!/bin/bash
pkgx_env="$(pkgx +psql +jq +yq +curl)"
set -o allexport
eval "${pkgx_env}"
set +o allexport
unset pkgx_env
...
Well, to do what docker images are supposed to: allow for running applications (pkgx in this case) in a portable manner without having to install it. Not just to run a simple command like for demonstration, but for more serious cases. |
|
We will make a much leaner image when https://github.com/pkgxdev/manifests is ready. I am doing the work currently so that our packages only depend on glibc and nothing else.
It's all builds related. But the fact is if you use pkgx and want to build eg. C++ these packages are required. While we could just say this in the docs we try to build things that just work. The pkgx installer also installs these packages (in CI, otherwise it just outputs a message saying they are required). |
|
I see.
We could provide an additional variant of the pkgx docker image that is capable of building. Or maybe even make it as an image for brewkit instead of pkgx. |
7c8ed9c to
ebf754b
Compare
|
That's awesome. I personally don't like Busybox because it has no package manager to help adding more packages to the image, but maybe having pkgx is enough to fulfill that whole. |
|
We can provide multiple images easily enough. What base container would you like? |
|
I think having a Debian (Slim) or Ubuntu variant could be useful: But maybe the best starter is the Alpine variant? It's marginally bigger than busybox. I'm not asking for the Debian variant yet; I haven't found a specific need for it. I think you should add more variants as needed. Maybe it will never be needed, who knows. |
|
Alpine is no good until we have our own glibc package or we can find a good way to get glibc and libgcc into alpine. I looked into it and there was nothing trivial, but it's probably just a bit of work to do it |
|
Maybe go for busybox then. :) Tag it with something like |
bda3509 to
de3497e
Compare
|
Superseded by #1157. |


--user $(id -u):$(id -g)and I don't see why they are neededCLICOLOR_FORCE=1. This is non-sense. pkgx v2 already adds colors when the container is being run with-it.The old image size was 176MB, the new image size is 86.6MB.