DockerのubuntuイメージにMySQL-Client8.0.11をインストール。
DockerのubuntuイメージにMySQL-Client8.0.11をインストール。
こんにちは葛の葉です。
DockerのubuntuのコンテナにMySQL-Client8.0.11をインストールする機会があったのですが、
apt install mysql-client
と打ってもMySQL 5.7.22
のインストールが始まってしまうんですね。
それを頑張ってMySQL 8.0.11でインストールできるようにしてみました。
公式からapt更新用のファイルを持ってくればよい
wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
これでダウンロードしてきたものをdpkg -i
でインストールする。
dpkg -i mysql-apt-config_0.8.10-1_all.deb
これを実行すると…対話型にてaptのリポジトリの設定変更が発生する。
しかし、対話型はDockerfileで自動化するには向いていない。
コマンドが載ってるテキストをリダイレクトして対話型を終わらせる
設定画面では標準入力で1を押して2を押して4を押せばいいので、
text.txt
1 2 4
のテキストファイルをリダイレクトで渡せばよいです。
dpkg -i mysql-apt-config_0.8.10-1_all.deb < text.txt
また、これからapt update
を行い、その後apt install mysql-client
を実施します。
要するにDockerfileはこうである
Hostマシン
echo "1 2 4" > text.txt mv text.txt [dockerfileのあるディレクトリ]/cmdfile/text.txt
Dockerfile
# ディストリビューションの指定 FROM ubuntu:18.04 # wgetやdpkgを使うためのpackageのインストール RUN apt -y update RUN apt install -y wget lsb-release gnupg # 公式サイトから設定ファイルのダウンロードをwgetで実施 RUN wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb # Hostマシンからコンテナへ、リダイレクト用の[text.txt]を渡す COPY ./cmdfile/text.txt /tmp/text.txt # 設定ファイルの実行 RUN dpkg -i mysql-apt-config_0.8.10-1_all.deb < /tmp/text.txt # 設定ファイルが実行され、aptの内容が更新されたため、改めてupdateの実施 RUN apt -y update # mysql-clientのインストールの実行 RUN apt install -y mysql-client
あとはDockerfileでbuildしよう!
2018/6/30 10:05追記