¿Cómo construyo una imagen Docker para un proyecto Ruby sin herramientas de compilación?

Estoy tratando de construir una imagen Docker para un proyecto Ruby. El problema es que el proyecto tiene algunas dependencias de gemas que necesitan construir extensiones nativas. Tengo entendido que tengo un par de opciones:

Comience con una imagen base que ya tenga instaladas herramientas de compilación.Use una imagen base sin herramientas de compilación, instale herramientas de compilación como un paso en el Dockerfile antes de ejecutarbundle install.Precompile las extensiones nativas en el host, distribuya la gema y simplemente copie el paquete resultante en la imagen.

1 y 2 parecen requerir que la imagen resultante contenga las herramientas de compilación necesarias para compilar las extensiones nativas. Estoy tratando de evitar ese escenario por razones de seguridad. 3 es engorroso, pero factible, y lograría lo que quiero.

¿Hay alguna opción que me falta o estoy malinterpretando algo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta