t8.dev

🇺🇸

WordPress用のmysql(5.7)をdockerfileで作る

公開日:2021/10/26
更新日:

1. dockerfileを作る

心理学を使ったTODOアプリを開発している、@takasqrです。

心理学を使ったTODOアプリ | todo8

心理学を使ったTODOアプリ | todo8

mysqlのdockerfileを作ります。mysqlのバージョンを5.7で指定します。

FROM mysql:5.7

5.7以降のバージョンで作った時はエラーが出ました。 dockerhubのwordpressページでもmysqlは5.7で作るようにサンプルコードがありました。

wordpress | dockerhub

2. dockerfileをビルドする

dockerfileビルドする。

docker build -t mysql-custom-image:0.1 .
  • 0.1パージョン番号
  • mysql-custom-imageイメージ名

3. 作ったイメージのコンテナを作る

mysqlのコンテナをビルドします。 環境変数の部分は読み替えて下さい。

docker container run \
  --name mysql-custom-container \
  -e MYSQL_ROOT_PASSWORD=XXXXXXXX \
  -d \
  -m 448m \
  --oom-kill-disable=true \
  --restart=always mysql-custom-image:0.1
  • -e MYSQL_ROOT_PASSWORDmysqlのパスワード
  • mysql-custom-image先ほどビルドしたイメージを指定

4. 作ったコンテナに接続する

docker exec -it mysql-custom-container bash

おまけ(日本語対応)

mysqlの文字コードを変えるdockerfileです。 my.cnfにechoで追記してます。

ただ、このやり方が正しいのかはわかりません。。。 COPYでファイルを送り込んだり、ボリュームをマウントする方法の方がスマートな気がする。。。

FROM mysql:5.7

RUN echo '' >> /etc/mysql/my.cnf
RUN echo '[mysqld]' >> /etc/mysql/my.cnf
RUN echo 'character-set-server=utf8' >> /etc/mysql/my.cnf
RUN echo '' >> /etc/mysql/my.cnf
RUN echo '[client]' >> /etc/mysql/my.cnf
RUN echo 'default-character-set=utf8' >> /etc/mysql/my.cnf

関連記事

DockerfileのCOPYでファイルやディレクトリごとコンテナにコピーする
Dockerのcpでホストとコンテナ間でのファイルコピー
dockerfileのenvを使って環境変数を渡す【ARGとの違いも説明する】
【dockerfile】echoを使ってテキストファイルに複数行追記する
Postgres SQLのdockerfileを作る
sqlserverのdockerfileを作る
Docker execでコンテナ外からコマンドを実行する
Dockerのイメージ一覧をコマンドで表示する【images】
Dockerのコンテナが起動しない時に見るページ
DockerのpsでCOMMANDを省略しないで表示する
Dockerで不要になったimageやcontainerを一括削除【system prune】

オススメ記事

5年間ほぼ毎日プログラミングの勉強をするためにやったこと
論文と本から学ぶ、プログラミング独学のコツ
目標達成率を高める if thenプランニングとは!?【本とアプリも紹介】