背景
MySQL Shell をインストールした Docker イメージを作りたかった。
要件として Debian 10 を使った古いベースイメージを利用しなくてはならず、以下のような公式インストラクションで見られるリポジトリを使ったインストールは古い OS に対応しておらず、うまくいかなかった。
対応
Product Archives から各ツールの過去バージョンを個別にダウンロードできる。
MySQL Shell なら以下。
2023/12 時点では、画面上から Product Version や OS を選ぶと、対応したパッケージをダウンロードできる。
RUN << EOR
set -e
curl -L "https://downloads.mysql.com/archives/get/p/43/file/mysql-shell_8.0.32-1debian10_amd64.deb" > /var/tmp/mysqlsh.deb
apt install -y /var/tmp/mysqlsh.deb
apt clean && rm -rf /var/lib/apt/lists/*
EOR
こんな具合に、Dockerfile 上からでもシンプルに個別のツールをインストールできる。
注意点
バージョンを固定することで、当然ながらパッケージのアップデートに追従できなくなるため、脆弱性には注意。