ruby:2.4.3のイメージはいったいどこからpullしてきたものなのでしょうか。
結論から言うとlibrary/rubyからpullしている
ということになります。
以下、実際にpullしてみました。
$ docker pull ruby:2.4.3
2.4.3: Pulling from library/ruby
f2b6b4884fc8: Pull complete
4fb899b4df21: Pull complete
74eaa8be7221: Pull complete
︙
rubyの公式リポジトリには現在2.4.4しかありません
最新の2.4.4しか見えていないだけであります。
Dockerイメージはレイヤ化されている
ので、実際にはDockerHub内で2.4.3が管理されています。
世界中のユーザーが、DockerHubに対して、イメージという大きなファイルを何回もアップロードするとディスクがいくらあっても足りないので、Dockerはイメージ保存する仕組みを工夫しています。
その仕組みの詳細については、気になったらご自身で調べてみてください。一応、そのあたりの公式文書をリンクしておきます。
https://docs.docker.com/storage/storagedriver/#images-and-layers
ここでは質問に対する回答ではないので割愛させていただきます。
docker-library/ruby には2.4.3はありませんでした。
はい、おっしゃる通りです。
上記の通り、ruby:2.4.3というDockerイメージ自体はGitHubではなくDockerHubで管理されるいる
からです。
一方、Dockerイメージを作るための作業はDockerHubではなくGitHubで行われている
ため、以下のようなアップデートの作業ログが残っているだけになります。
https://github.com/docker-library/ruby/commit/1bd8b466277668bff50528b26360e6e451e4dae4