go-layout
Lean and Mean Docker containers
Our great sponsors
go-layout | Lean and Mean Docker containers | |
---|---|---|
1 | 35 | |
7 | 16,310 | |
- | 1.6% | |
10.0 | 7.7 | |
6 months ago | 7 days ago | |
Go | ||
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-layout
-
A practical approach to structuring Golang applications
You can download the full project layout template from my GitHub (https://github.com/fir1/go-layout).
Lean and Mean Docker containers
-
Standard container sizes
Anyone tried using https://github.com/docker-slim/docker-slim To minify an image?..
- A practical approach to structuring Golang applications
-
M1: Docker doesn't find shared x64 shared objects even though platform was specified
Distroless images are better left for people with serious need for lightweight images and good Linux knowledge because they require lot of planning with the build so that they stay light and work. If you need lighter images but docker isn't your main tool and you can't afford to take hours and hours of practicing different build strategies you can check docker-slim (https://dockersl.im/). With this tool you can easily size down the images.
-
I deleted 78% of my Redis container and it still works
Maybe this would help in that regard: https://github.com/docker-slim/docker-slim
-
Are there tools that tell you if you can optimize your dockerfiles?
I have heard of slim.ai, there core tool is open source https://github.com/docker-slim/docker-slim
- We're optimizing our Docker image and we're pretty happy with how it's going: 3.37GB > 1.13GB. Next stop, a single Docker image Budibase deployment 🚀
-
Ask HN: Who is hiring? (April 2022)
* We have a lightweight engineering process based on trust, self-alignment and visibility.
Email me at [email protected] if you'd like to learn more.
P.S.
Take a look at DockerSlim ( https://github.com/docker-slim/docker-slim ) if you are interested in working on the open source project that powers our SaaS.
-
Down With the Sickness
In last weeks blog I talked about what my plan was for release 2.9. My main areas of concern was finishing the migration to make use of the images stored in our Docker registry. The other area I was planning on taking on was to slim down those images in the registry by using Docker-Slim.
-
`COPY --chmod` reduced the size of my container image by 35%
Or you can save your time micromanaging your Dockerfile and just use docker-slim.
-
`COPY –chmod` reduced the size of my container image by 35%
In my experience docker-slim[0] is the way to go for creating minimal and secure Docker images.
I wasted a lot of time in the past trying to ship with Alpine base images and statically compiling complicated software. All the performance, compatibility, package availability headaches this brings is not worth it when docker-slim does a better job of removing OS from your images while letting you use any base image you want.
Tradeoff is that you give up image layering to some extent and it might take a while to get dead-file-elimination exactly right if your software loads a lot of files dynamically (you can instruct docker-slim to include certain paths and probe your executable during build).
If docker-slim is not your thing, “distroless” base images [1] are also pretty good. You can do your build with the same distro and then in a multi stage docker image copy the artifacts into distroless base images.
What are some alternatives?
minideb - A small image based on Debian designed for use in containers
gophish - Open-Source Phishing Toolkit
Go random string generator - Flexible and customizable random string generator
dive - A tool for exploring each layer in a docker image
pipx - Install and Run Python Applications in Isolated Environments
simple-scrypt - A convenience library for generating, comparing and inspecting password hashes using the scrypt KDF in Go 🔑
memguard - Secure software enclave for storage of sensitive information in memory.
passlib - :key: Idiotproof golang password validation library inspired by Python's passlib
lego - Let's Encrypt/ACME client and library written in Go
dongle - A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption
go-password-validator - Validate the Strength of a Password in Go
distroless - 🥑 Language focused docker images, minus the operating system.