kannans / fullstaq-ruby-docker

Docker image for Ruby build from Fullstaq packages based on Debian 9, Debian 10, and Debian 11.

Home Page:https://evilmartians.com/chronicles/fullstaq-ruby-first-impressions-and-how-to-migrate-your-docker-kubernetes-ruby-apps-today

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fullstaq Ruby Docker images

Fullstaq Ruby is a custom build of standard MRI Ruby interpreter with memory allocator replaced, security patches applied, and more goodies on the way.

These images are intended to be used while Fullstaq and Hongli Lai haven't build their own.

Sponsored by Evil Martians

Usage

Pull it directly from the quay.io registry:

docker pull quay.io/evl.ms/fullstaq-ruby:3.1-jemalloc-slim

Or use as base image in your Dockerfile:

ARG RUBY_VERSION=3.1.2-jemalloc

FROM quay.io/evl.ms/fullstaq-ruby:${RUBY_VERSION}-slim

Flavors

Ruby 3.1.2, 3.0.4, and 2.7.6 with jemalloc and malloctrim are available. Images are built on top of Debian 9 (stretch), 10 (buster), and 11 (bullseye):

# 3.1:
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-buster
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-stretch-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-stretch
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-malloctrim-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-malloctrim-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-malloctrim-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-malloctrim-buster
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-malloctrim-stretch-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1.2-malloctrim-stretch

# 3.0:
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-jemalloc-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-jemalloc-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-jemalloc-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-jemalloc-buster
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-jemalloc-stretch-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-jemalloc-stretch
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-malloctrim-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-malloctrim-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-malloctrim-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-malloctrim-buster
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-malloctrim-stretch-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.0.4-malloctrim-stretch

# 2.7:
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-jemalloc-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-jemalloc-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-jemalloc-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-jemalloc-buster
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-jemalloc-stretch-slim
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-jemalloc-stretch
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-malloctrim-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-malloctrim-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-malloctrim-buster-slim
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-malloctrim-buster
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-malloctrim-stretch-slim
docker pull quay.io/evl.ms/fullstaq-ruby:2.7.6-malloctrim-stretch

Latest patch versions for Ruby 3.1 on Debian 11 (bullseye) are also aliased with shortened tags including major and minor versions only: 3.1.2-jemalloc-bullseye → 3.1-jemalloc

docker pull quay.io/evl.ms/fullstaq-ruby:3.1-jemalloc-slim   # Same as quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1-jemalloc        # Same as quay.io/evl.ms/fullstaq-ruby:3.1.2-jemalloc-bullseye
docker pull quay.io/evl.ms/fullstaq-ruby:3.1-malloctrim-slim # Same as quay.io/evl.ms/fullstaq-ruby:3.1.2-malloctrim-bullseye-slim
docker pull quay.io/evl.ms/fullstaq-ruby:3.1-malloctrim      # Same as quay.io/evl.ms/fullstaq-ruby:3.1.2-malloctrim-bullseye

For Ruby 3.0 and older, short aliases for latest patch versions are made against Debian 10 (buster): 3.0.4-jemalloc-buster → 3.0-jemalloc

Details

Ruby is installed from official APT package repository. Rbenv isn't used.

Caveats

Bash login shell bash -l -c 'command' resets $PATH to default. It is not clear why it happens there, because in official Ruby image it works and this image is based on the same debian:stretch-slim base image.

That may hurt you if you're using whenever gem which wraps every command in Bash login shell by default. To remove this wrapping place following to the top of your config/schedule.rb:

# config/schedule.rb
set :job_template, nil

About

Docker image for Ruby build from Fullstaq packages based on Debian 9, Debian 10, and Debian 11.

https://evilmartians.com/chronicles/fullstaq-ruby-first-impressions-and-how-to-migrate-your-docker-kubernetes-ruby-apps-today


Languages

Language:Dockerfile 100.0%