4 ms·
- increases amount of time to fetch and run container (it actually is quite noticeable when you have app that scales out and you updating it) - it increases am
by takeda 8y ago
- increases amount of time to fetch and run container (it actually is quite noticeable when you have app that scales out and you updating it)
- it increases amount of storage to store multiple versions of containers (when you have an internal app and do frequent releases it adds quickly)
- it increases amount of data transferred on every deployment
- increases amount of memory used (the whole point of containers, was to efficiently use hardware (BORG), although a lot of people today miss that reason and run containers on VMs)
- Go0the0gophers 8y agoLol, I let you use java spring boot technology. It is really bloat (ram, cpu, disk, infamous slowly startup and jit optimization, complex tuning eg. thread pool and so on). Good luck.
- yetanotherme 8y agoTrue. Luckily, most Go binaries can be upx'd ( https://upx.github.io/ https://upx.github.io/ ) for a fraction of their original size. Just put it into your Dockerfile as a part of the build process.
- penagwin 8y agoThis works and helps with storage/transit. Word of warning though that many AV like to flag UPX'd executables (only important if it's not an internal tool), and it'll take even longer for it to start, and will use more memory. My understanding is it essentially does standard compression on the executable and appends the decompression part on the front of it.
- xyproto 8y agoWith UPX the entire docker image with Algernon takes only 9MB.