Docker で汎用開発環境用データベースを作ってみよう!

こんにちは、切口太郎です。 前回は、Docker で Python の汎用開発環境を構築しました。 https://kirikutitarou.blogspot.com/2019/07/docker-anaconda.html 今回は、足回りの整備でDocker でデータベース環境を構築します。 データベースは、企業システムでは必ず利用されているOracle、オープンシステムで利用される Oracles社の MySql 、Windowsサーバーで利用される Microsoft社のSQL Server がビック3ではないでしょうか。 別格扱いで金融などの大型システムで利用される IBM のDB2 があります。 それぞれ、Docker Hub に コンテナーイメージがあります。 さすがに、DB2 は無いだろうなと思っていましたが、DB2 のコンテナーイメージがIBMから開発用で無償提供されていました。 こんどやってみようかなぁ。。。。 Oracle は、SQL Developer や SQL Developer Data Modeler など、かなり高機能は開発ツールが用意されていますが、これは java で基幹系サービス作るときに良く利用します。 Python で作るシステムに Oracle を使うのはあまり聞いたことがなので、今回はスキップします。 ということで、Python の開発で良く利用される MySQL で汎用開発環境に利用できるデータベースを環境を構築します。 MySQL は、Linux版では、/var/lib/mysql にテーブルスペースを作成します。 この領域を 別のボリュームへマウントすれば、コンンテナー内に閉じていない環境を構築することができます。 MySQLの /var/lib/mysql をHostOSのフォルダーにマウントします。 MySQLはのコンテナー起動は、Docker run .... のパラメータ指定でもできますが、今回は docker compose を利用して行います。 ホスト側で別のデータベースをマウントすることによって、簡単にデータベースを取り替えられます。バックアップや復元が簡単...