カテゴリー
Microsoft

ローカル開発環境の古い MySQL、バージョン 5.5 を Docker で再現できるかやってみましたらできました♪

はじめに

  • 開発のために MySQL 5.5 を手元の Windows にインストールしなければならない。
  • はっきりいって嫌だ。
    • Windows 起動時に自動的に MySQL も起動してしまったり。
    • Windows のポートも使用されてしまったり。
  • Docker で再現できるのでは?
    • Nginx を Docker で使ったとき、http://localhost でウェブページにアクセスできた。
    • Nginx を Docker で使ったとき、docker run 時、-p 8080:80 などとすれば、http://localhost:8080 でアクセスできた。
    • つまり、ホスト (Docker をインストールしたマシン) からコンテナに対して、localhost と指定したポート番号でアクセスできるということ。
  • A5:SQL Mk-2 – フリーの汎用SQL開発ツール/ER図ツール .. 松原正和 からアクセスできるか、やってみる。
カテゴリー
Microsoft

Docker for Windows をインストールしてアンインストールしてインストールしたら起動しなくなりました><。← 解決しました♪

はじめに

最初は、Docker for Windows のインストール手順をただ単に残そうと思ったのですけれども、あれこれ試しているうちに起動しなくなってしまいました。><。一応その記録を残しておきます。

追記。解決しました。再度のインストール前にもうひと手間必要でした。

  1. Docker for Windows アンインストール後、Windows の機能の有効化または無効化の、Hyper-V とコンテナーのチェックを外し、再起動する。
  2. Docker for Windows を再度インストールする。

環境と今回インストールできた Docker のバージョン

>ver

Microsoft Windows [Version 10.0.17134.191]

>docker --version
Docker version 18.06.0-ce, build 0ffa825

>docker-compose --version
docker-compose version 1.22.0, build f46880fe

>

インストール方法

カテゴリー
コンピューター

【Docker】volumes で永続化した場合、コンテナが消えようがイメージが消えようが、永続化したファイルは残る

永続化関連のまとめと遭遇したトラブル

  • コンテナを削除 (docker rm や docker-compose down など) しても、volumes のホスト側のファイルは残る。
  • MySQL の /docker-entrypoint-initdb.d/ に置いた SQL ファイルは、コンテナを作成 (1回目) してコンテナを削除して、コンテナを作成 (2回目) した場合、1 回目しか実行されない。
    • 1 回目で永続化されたファイルが出来上がり、これは削除されない。すると 2 回目では永続化された DB ファイルがあるため、実行されないのであろう。
    • したがって、開発中などの場合、永続化の設定をした状態で 2 回目のコンテナを作成する前に /docker-entrypoint-initdb.d/ の SQL を編集してもその内容はコンテナに反映されない。
    • 永続化したファイルを消せば、コンテナに反映される。