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

use docker multi stage build #2

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

Anakin100100
Copy link

No description provided.

@Anakin100100
Copy link
Author

@galuszkak please approve my priviliges to run workflows

Copy link
Member

@galuszkak galuszkak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some changes requested.

.github/workflows/ci.yml Outdated Show resolved Hide resolved
Dockerfile Show resolved Hide resolved

RUN go build -o /geralt

FROM alpine:3.15
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alpine is a very risky choice and has proven to have an illusion of security, I think Debian makes more sense in this case.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW default golang image is based on Debian and I think it's not an accidental choice.

Copy link
Author

@Anakin100100 Anakin100100 Apr 29, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When introducing this change I was thinking more about the resulting image size than security. The final build using pure alpine (without go etc.) is only 16mb while the image resulting from go-1.18 was about 1.1gb in size. Though the debian image is fairly coveniat for running tests. Do you know whether GCP docker registry caches the layers of the base image? If this is the case, the cost effectivness of debian and alpine images would be the same except the base image size. Do you know if the image size affects the cold startup time? In this post the author says that it does not but I couldn't find another confirmation of that.

Copy link
Author

@Anakin100100 Anakin100100 Apr 29, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wasn't aware that alpine was unsafe and thought that it was best to use as minimal image as possible for security to decrease the number of attack vectors. Could you show me some examples? I'd like to read up on that.

@Anakin100100 Anakin100100 requested a review from galuszkak April 29, 2022 08:12
Copy link
Member

@galuszkak galuszkak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests are failing.

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.

2 participants