-
Notifications
You must be signed in to change notification settings - Fork 14
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
Feat/docker alpine #277
base: primary
Are you sure you want to change the base?
Feat/docker alpine #277
Conversation
Hi! Thanks for the contribution! 🎉 Currently, this new Dockerfile is not picked up by any release automation, so it will not be built and released. Do you think it is useful to do so as well? Theoretically, it should be possible to modify The bit about dumb-init is interesting to me. I've seen various cases where signals aren't passed on into the process, but I haven't seen this when running Skogul in Kubernetes. I managed to reproduce this directly in docker on an old debian box (version details:)
In Docker here, sending SIGTERM to the running process does not make skogul stop. However, when running in Kubernetes, this works as expected. I use "rollout restart" often which works fine and manages to gracefully stop the container, and I've tested by manually SIGTERM-ing the process from within the container (I think this is the closest way I have to easily reproduce this right now..). So I'm not sure if this is a docker issue or "something else". I can try to dig into it a bit further. Do you have any specifics where this resolved an issue? I think I've seen some Skogul code regarding UNIX signals handling, and if we implement that, Skogul will be able to handle such signals itself just fine, at which point we won't need "dumb-init" to wrap the process. I'll see if I can get some more insight on that part :) Regarding the IPv4 config... I think I'll CC in @KristianLyng here 😂. My preference is that Skogul should bind on anything the host prefers, and defaulting to IPv4 is a bit old-school 😬 What about updating the config to remove the loopback address, but rather bind on just the port ( On to the actual Dockerfile! What do you think of using a I'm also a bit curious about the build process. If we want to provide an alpine image of Skogul, I think we should build Skogul in an alpine (musl) environment, e.g. using Whew, sorry, that was a wall of text. It's not meant as criticism because I am all for open source, it's more just "braindumping" what I thought of while looking through. Depending on some answers here, other questions will be totally irrelevant - at which point I'll make sure to follow up in some other ways later on! I'm also in the Slack ( |
I've made a simple multistage build based on an alpine container. This should decrease the size of the image since it wont contain any dependencies.
As earlier, any suggestions are welcome. Build flags for golang, for example.
docker build --build-arg ALPINE_VERSION=latest -t <image>:<tag> -f ./alpine.Dockerfile .