Skip to content
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

Provide container image based on Alpine or similar (with shell) #168

Open
ogarcia opened this issue Mar 13, 2023 · 2 comments
Open

Provide container image based on Alpine or similar (with shell) #168

ogarcia opened this issue Mar 13, 2023 · 2 comments

Comments

@ogarcia
Copy link

ogarcia commented Mar 13, 2023

Many CI/CD systems (e.g. GitLab CI, Drone or CircleCI) rely on starting a container and executing commands in it, for which they need the container itself to provide a shell. It would be very interesting to have a "flavor" of the container based on Alpine Linux or similar.

Personally I prefer Alpine because it takes up the least amount of space with a package manager. Busybox is also a good option, but not having a package manager prevents someone to use the image as a base and easily install dependencies they may need for their project. As for Debian, the problem is that it will fatten the image by at least 80 or 90 Mb.

@kbairak
Copy link
Member

kbairak commented May 3, 2023

Hey, @ogarcia . The dockerfiles we provide that help you build the binary if docker is available in your system but go isn't are indeed based on alpine. So I'm guessing you are talking about the installation alternative where you alias tx to a docker run ... command. We made a conscious effort to make this image as small as possible so I am hesitant of basing it on alpine instead of scratch. Is it too big of an inconvenience to instead use the binary tx command from within an image/container you define in the context of your build?

@ogarcia
Copy link
Author

ogarcia commented May 3, 2023

What you can do is to add a new "flavor" (a tag) to the docker image. So that you have an alpine tag that is different from the latest tag:

  • transifex/txcli:latest -> From scratch
  • transifex/txcli:alpine -> From Alpine
  • For versions -> v1.6.7-alpine v1.6-alpine v1.6-alpine or/and v1.6.7-alpine3.17.3, v1.6-alpine3.17.3, v1-alpine3.17.3

This way you will have both possibilities. The smallest possible image and one that has shell tools.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants