自由気ままに書いちゃおう

好きなことをつらつらと・・・

【docker】コンテナイメージのバージョンについて

前回の記事でMySQLコンテナを起動し、コンテナを操作しました。

www.guri2o1667.work

この時は詳細は割愛したのですが、今回はMySQLバージョンを指定してMySQLコンテナを起動する方法について取り上げます。

■はじめに

まず、通常のMySQL Serverの最新バージョンを確認してみます。

MySQL :: Download MySQL Community Server


2020年11月時点では、8.0.22が最新版です。

■MySQLコンテナのMySQLバージョンについて

では、MySQLコンテナのMySQLバージョンの確認方法についてです。

1.DockerHubのトップページから「Explore」をクリックします。

2.OFFICIAL IMAGE のMySQLをクリックします。

f:id:guri2o1667:20201102213516p:plain


3.画面右側にある「View Available Tags」をクリックします。

f:id:guri2o1667:20201102213340p:plain

4.「Tags」ラベルをクリックします。

f:id:guri2o1667:20201102213551p:plain


ここまで実施すると、
TAG名がバージョン名と(ほぼ)一致しているコンテナが複数表示されます。

f:id:guri2o1667:20201102213713p:plain

f:id:guri2o1667:20201102213722p:plain


このタグ名を利用してdocker pull コマンドを実行します。

■MySQL5.7のコンテナイメージのpull

例として、MySQL5.7のコンテナイメージをpullしてみます。
実際のコマンドは、既にページ上に記載されており、それをコピペするだけです。

f:id:guri2o1667:20201102213939p:plain

1.右側に「docker pull mysql:5.7」と記載されているところをコピーし実行します。

f:id:guri2o1667:20201102214046p:plain


2.docker imagesコマンドでコンテナイメージを確認します。
f:id:guri2o1667:20201102214159p:plain

上記の通り、mysql:5.7のイメージ取得ができました。

■MySQLコンテナの検索について

今までは、DockerHubのトップページから探す方法を紹介してきましたが、
もちろんdockerコマンドでも検索できます。
docker searchコマンドを使います。
ただ、タグ名で検索できないようなので、docker search以外の方法も記載致します。

【docker searchコマンド】

MySQLのOfficial Image を検索します。

docker search --filter is-official=true mysql

f:id:guri2o1667:20201102215327p:plain

【docker search以外の方法】

こちらがおすすめの方法です。
以下コマンドを実行します。

curl -s https://registry.hub.docker.com/v1/repositories/mysql/tags | sed "s/,/\n/g" | grep name | cut -d '"' -f 4

下記のようにMySQLのタグ名一覧を取得することができます。
f:id:guri2o1667:20201102215624p:plain


後は好きなバージョンを指定してpullするだけです。

以上です。