オープンソース系のRDBMS、「mariadb」「postgresql」を手軽に立上げてみました。長々書いてますが、起動コマンド「docker-compose up -d」の一発でOK。
検証環境
- windows10- 未検証ですがdocker-composeが動けばwindowsである必要はないはず
 
- 対象データベース- mariadb
- postgresql
 
docker環境の整備
chocolatey環境
※すでにchocolateyインストール済みの場合は飛ばしてください。
- powershellを管理者モードで開く- 例:「Windowsキー」+「x」 → 「a」 → 「はい」を選択
 
- powershell実行ポリシーの確認
Get-ExecutionPolicy
ここで「Restricted」の場合は、ポリシー変更を入力、 「Restricted」 でなけれはインストールコマンドへ
- ポリシー変更
Set-ExecutionPolicy AllSigned
- chocolateyインストールコマンド
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 
dockerのインストール
- chocolatyeからdocker-desctopをインストール
choco install docker-desktop -y
必要ファイルの準備
同じフォルダに以下2ファイルを準備します。
※githubから取得できるようにしました。
git clone https://github.com/taka-output-blog/oss-rdbms-docker-compose
- Dockerfile
FROM alpine:latest
 RUN apk update && \
     apk add --no-cache \
         mariadb-client \
         postgresql-client \
- docker-compose.yml
version: '2'
 services:
   mariadb:
     container_name: mariadb
     image: mariadb
     restart: always
     volumes:
       - mariadb:/var/lib/mysql
     environment:
       - MYSQL_ROOT_PASSWORD=root
 postgres:
     container_name: postgres
     image: postgres
     restart: always
     volumes:
       - postgres:/var/lib/postgresql/data
 db-clients:
     container_name: db-clients
     build: .
     restart: always
     links:
       - mariadb
       - postgres:postgresql
     stdin_open: true
     tty: true
     command: /bin/sh
 volumes:
   mariadb:
     driver: local
   postgres:
     driver: local
起動する(準備済みならコマンド一発)
- powershellを立ち上げる
- 該当フォルダへ移動
- 立上げコマンドを実行
cd oss-rdbms-docker-compose docker-compose up -d
以下のようなメッセージが出ればOK
Creating mariadb … done Creating postgres … done Creating db-clients … done
接続確認
db-clientsというコンテナから両方のDBに接続できます
db-clientsコンテナに接続する
docker exec -it db-clients /bin/ash
下記のようにコマンド入力待ちになればOK.
mariadbへの接続を確認する
mysql -h mariadb -u root -p
パスワードは「root」にしてあります。※docker-compose.ymlに記載
postgresqlの確認を行いたいので、「exit」でmariadbから抜けます。
exit
postgresqlへの接続を確認する。
psql -h postgres -U postgres -d postgres
こちらも「exit」で抜けられます。
exit
さらにdockerから抜けるのも「exit」でOKです。
exit
立ち上げたサービスをとめる
docker-compose down
※あげたくなったら「起動する」をもう一度行うだけです。
まとめ
とにかく使ってみたいというレベルなら、dockerで簡単に環境が手に入るのでお手軽です。
 
  
  
  
  
コメント