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

SRE-565 - Modifications to use Debian Stretch as base image. #77

Closed
wants to merge 1 commit into from

Conversation

chrismaeda
Copy link

My application requires GRPC. GRPC uses netty-tcnative which does not work with alpine linux (cf. netty/netty-tcnative#111). Instead of building a custom netty-tcnative binary for alpine, I modified this base container to use Debian Stretch and to include the netty-tcnative-java package.

I don't expect you to merge this directly, but perhaps you could reorganize the source tree so that you have alpine and debian versions of the base containers?

Include netty-tcnative in base image to allow use of GRPC.
@menski menski self-requested a review January 14, 2019 13:52
@menski
Copy link
Contributor

menski commented Jan 14, 2019

Hi @chrismaeda, thanks for raising this issue. I will think about how to structure the repository to provide alpine and debian images at the same time. But I can't promise on a time frame for this, sorry. If you have any proposals feel free to share them in this issue.

@chrismaeda
Copy link
Author

chrismaeda commented Jan 14, 2019

The simplest approach seems to be a directory structure like this:

  • alpine
    -- Dockerfile for alpine
    -- download.sh etc
  • debian
    -- Dockerfile for debian
    -- download.sh etc

This duplicates the scripts but allows you to use the support in the 'docker build' command for branches/tags and folders. E.g.

To build alpine: docker build myrepo.git#branchname:alpine
To build debian: docker build myrepo.git#branchname:debian

cf: https://docs.docker.com/engine/reference/commandline/build/#git-repositories

@menski
Copy link
Contributor

menski commented Jan 22, 2019

allows you to use the support in the 'docker build' command for branches/tags and folder

That is neat, wasn't aware of this feature. Thanks for pointing it out I will give it a try.

@AndreaGiardini AndreaGiardini removed the request for review from menski June 27, 2019 13:03
@AndreaGiardini AndreaGiardini changed the title Modifications to use Debian Stretch as base image. SRE-565 - Modifications to use Debian Stretch as base image. Jun 27, 2019
@AndreaGiardini
Copy link
Contributor

Hello @chrismaeda and, first of all, apologies for the late answer :)

In the ticket that you linked, they suggest to install the package libc6-compat in order to get rid of the problems with netty-tcnative. Can you please let me know if that solves your problem?

@AndreaGiardini
Copy link
Contributor

I've tried to run https://grpc.io/docs/quickstart/java/ in the docker container and indeed it doesn't work.
After installing the packages libc6-compat gcompat I got the examples working correctly

I would be in favor of adding these two packages to the image if you still need them since the change is way less invasive than changing the base image

@AndreaGiardini AndreaGiardini self-assigned this Jul 4, 2019
@AndreaGiardini
Copy link
Contributor

Hey @chrismaeda
I am going to close this PR now since I provided a solution that (at least for me) works. Feel free to open a PR with my suggestion if that can help you :)

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

Successfully merging this pull request may close these issues.

3 participants