LoginSignup
6
0

More than 3 years have passed since last update.

all-rubyがghcr.io/ruby/all-rubyでも使えるようになった

Last updated at Posted at 2020-12-15

全バージョンの ruby の動作を比較するのに便利な all-ruby というものがあります。
そのイメージが docker hub だけではなく ghcr.io からも pull できるようになったという話です。

docker hub からのイメージでの実行例

従来はその docker image として docker hub の rubylang/all-ruby を使って、以下のように使っていました。(実行例の内容は require が不要になったライブラリです。)

$ docker run -it --rm rubylang/all-ruby env ALL_RUBY_SINCE=ruby-2.0 ./all-ruby -e 'p $".reject{|s|s.include?("/")}'
ruby-2.0.0-p0       ["enumerator.so"]
...
ruby-2.0.0-p648     ["enumerator.so"]
ruby-2.1.0-preview1 ["enumerator.so", "thread.rb"]
...
ruby-2.1.10         ["enumerator.so", "thread.rb"]
ruby-2.2.0-preview1 ["enumerator.so", "rational.so", "complex.so", "thread.rb"]
...
ruby-2.2.10         ["enumerator.so", "rational.so", "complex.so", "thread.rb"]
ruby-2.3.0-preview1 ["enumerator.so", "thread.rb", "rational.so", "complex.so"]
...
ruby-2.7.0-preview2 ["enumerator.so", "thread.rb", "rational.so", "complex.so"]
ruby-2.7.0-preview3 ["enumerator.so", "thread.rb", "rational.so", "complex.so", "ruby2_keywords.rb"]
...
ruby-3.0.0-preview1 ["enumerator.so", "thread.rb", "rational.so", "complex.so", "ruby2_keywords.rb"]

ghcr.io からのイメージでの実行例

今年から docker hub の制限が厳しくなった影響を受けて、 GitHub Container Registry(ghcr.io) にも docker push されるようになり、 ghcr.io/ruby/all-ruby でも使えるようになりました。

上の実行例は 3.0.0-preview1 のリリース前に docker pull したものだったので、 preview1 までになっていますが、以下の実行例は 3.0.0-preview2 以降で初めて実行した時の出力です。

$ docker run -it --rm ghcr.io/ruby/all-ruby env ALL_RUBY_SINCE=ruby-2.0 ./all-ruby -e 'p $".reject{|s|s.include?("/")}'
Unable to find image 'ghcr.io/ruby/all-ruby:latest' locally
latest: Pulling from ruby/all-ruby
852e50cd189d: Pull complete
3d2287ec382d: Pull complete
8532674f7cc9: Pull complete
c2b6a97405ca: Pull complete
Digest: sha256:8c48ad2185525c7a8b5c19fe31f286971b64b7dd41a06be7bee0bd6ba8646943
Status: Downloaded newer image for ghcr.io/ruby/all-ruby:latest
ruby-2.0.0-p0       ["enumerator.so"]
...
ruby-2.0.0-p648     ["enumerator.so"]
ruby-2.1.0-preview1 ["enumerator.so", "thread.rb"]
...
ruby-2.1.10         ["enumerator.so", "thread.rb"]
ruby-2.2.0-preview1 ["enumerator.so", "rational.so", "complex.so", "thread.rb"]
...
ruby-2.2.10         ["enumerator.so", "rational.so", "complex.so", "thread.rb"]
ruby-2.3.0-preview1 ["enumerator.so", "thread.rb", "rational.so", "complex.so"]
...
ruby-2.7.0-preview2 ["enumerator.so", "thread.rb", "rational.so", "complex.so"]
ruby-2.7.0-preview3 ["enumerator.so", "thread.rb", "rational.so", "complex.so", "ruby2_keywords.rb"]
...
ruby-3.0.0-preview2 ["enumerator.so", "thread.rb", "rational.so", "complex.so", "ruby2_keywords.rb"]

まとめ

docker hub は docker pull の制限も厳しくなってしまったので、これからは ghcr.io からも docker pull できるということを知っておくと便利です。

余談

余談ですが、https://hub.docker.com/r/rubylang/rubyghcr.io/ruby/ruby で使えるようになる予定のようです。こちらを実際に使うのは公式なアナウンスをお待ちください。

ブログ紹介

個人ブログの方にも同じ記事を転載しています。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0