Rabbit Slide Show

Dockerのオフィシャルrubyイメージとは?

2019-11-22

Description

[Docker Meetup Kansai #5 (19.11)](https://dockerkansai.connpass.com/event/152313/)でのLTの発表資料です。

Text

Page: 1

Dockerのオフィシャル
rubyイメージとは?
Kazuhiro NISHIYAMA
Docker Meetup Kansai #5 (19.11)
2019/11/22
Powered by Rabbit 2.2.1

Page: 2

自己紹介
西山 和広
Ruby のコミッター
twitter, github など: @znz
1/10

Page: 3

OFFICIAL とは?
$ docker search ruby |
NAME
ruby
circleci/ruby
starefossen/ruby-node
heroku/ruby
bitnami/ruby
rubylang/ruby
arm32v7/ruby
iron/ruby
head -n 8
DESCRIPTION
Ruby is a dyn…
Ruby is a dyn…
Docker Image…
Docker Image…
Bitnami Ruby
Experimental …
Ruby is a dyn…
Tiny Ruby ima…
STARS
1776
65
32
22
17
17
9
7
OFFICIAL
[OK]
AUTOMATED
[OK]
[OK]
[OK]
2/10

Page: 4

OFFICIAL の image
https://github.com/docker-library/ruby
コミュニティによるメンテナンス
Docker としてのオフィシャル
alpine などにも対応
3/10

Page: 5

rubylang の image
https://hub.docker.com/u/rubylang/
Ruby コミッターによるメンテナンス
いくつか種類がある
rubylang/ruby
rubylang/all-ruby
rubylang/rubyfarm
4/10

Page: 6

rubylang/ruby
https://hub.docker.com/r/rubylang/
ruby/
bundler 周りなどの余計な環境変数を設定
していない
OFFICIAL だと設定されている
主に特定 OS バージョンのみ
今だと Ubuntu bionic
alpine などに対応する余裕がない
5/10

Page: 7

ruby/ruby-docker-
image
https://github.com/ruby/ruby-docker-
images (rubylang/ruby のソース)
元は iruby や pycall のテストのため
make install しただけのピュアな状態の Ruby
gem のテストで広く使えるから rubydata/
ruby から移籍
6/10

Page: 8

rubylang/all-ruby
全てのリリースバージョンの ruby を網羅し
たイメージ
バージョン間の差などを調べるのに便利
7/10

Page: 9

rubylang/all-ruby 使用例
$ docker run -it --rm rubylang/all-ruby \
./all-ruby -e 'print("hello")'
ruby-0.49
hello
...
ruby-2.7.0-preview1
hello
$ docker run -it --rm rubylang/all-ruby \
env ALL_RUBY_SINCE=ruby-2.3 \
./all-ruby -e 'p :world'
ruby-2.3.0
:world
...
ruby-2.7.0-preview1 :world
8/10

Page: 10

rubylang/rubyfarm
bisect 用
開発版のほぼ全リビジョン
ビルドできないものなどがないだけ
9/10

Page: 11

まとめ
OFFICIAL が品質が高いとは限らない
ソフトウェアの upstream も docker のエ
キスパートとは限らない
rubylang には色々なイメージがあります
他のソフトウェアのイメージの状況も知り
たいです
Powered by Rabbit 2.2.1
10/10

Other slides