DEV Community

Discussion on: Slim Docker images for your Go application

Collapse
 
krusenas profile image
Karolis

trying to remember what problems I faced with scratch image before I switched to alpine :/ Have you encountered any?

Collapse
 
therealkevinard profile image
Kevin Ard • Edited

Scratch is still my go-to. Only the ssl thing handled here. That reeeeally angered me the first time when I pulled the perfectly crafted images into prod and every. call. failed.

Learned that lesson the hard way 🤷‍♀️

Update: I re-read this dockerfile and I like this one much more than mine. Alright if I borrow that? 😅

Thread Thread
 
krusenas profile image
Karolis

I think the problem I had was when I needed to do some external linking with C libs :) Then the first example wouldn't have worked either, you then need to use alpine as an initial build image too.

Thread Thread
 
therealkevinard profile image
Kevin Ard

Scratch is great, but it DEFINITELY depends on your workload. I haven't personally built anything that couldn't run in it, but I'm positive there are limits.

  • my rabbit work queues blaze in scratch.
  • pretty sure basic image manipulation would fail.

Such is scratch lol

Thread Thread
 
victoravelar profile image
Victor Avelar

Well I think your arguments are very valid, as I said it is not for all the use cases, still we are using it in prod for heavy load micro services and stream producers/consumers and so far its going surprisingly smooth, now I feel very lucky 😂

Thread Thread
 
therealkevinard profile image
Kevin Ard

Oh, don't get me wrong lol! My scratch-go images... Whoo! I have a single, polymorphic binary that blows my friggin socks off. It's a warehousing pipeline that can produce OR consume billions of records per day from who knows what sources. A damn tank, running on scratch.

Lol but I'd be nervous as crap deploying something that needs imagemagick via a scratch build 🤣

Collapse
 
victoravelar profile image
Victor Avelar

Nothing so far, at least not that I can remember right now. 🤔