dockerを使って、再構築が容易なSQLの練習場を作成する

2020-09-07

こんにちは、0371です。

今回は、壊したりしてもすぐに直せるような、SQLの練習場を作成したいと思います。
dockerのコンテナを使うことで、容易に練習場の再構築が可能です。

準備の手順

※ dockerはインストール済みという前提で進めていきます。

インストールしていない方は、下記のリンクを見て進めてください。

Get Docker
"https://docs.docker.com/get-docker/"

まずは、以下の手順で作業用ディレクトリを作成します。

cd ~
mkdir sql_docker
cd sql_docker

次に、dockerfileを作成します。
今回、ベースとするimegeは、postgreSQLが公式で用意しているpostgres:11-alpineにします。

vi dockerfile

dockerfile

FROM postgres:11-alpine
ENV LANG ja_JP.utf8

次に、docker-compose.yamlを作成します。 起動時の初期設定です。

docker-compose.yaml

version: '3'
services:
  db:
    build: .
    ports:
      - 5433:5432
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: admin
		volumes:
      - db_data:/var/lib/postgresql/data
volumes:
  db_data: {}

これで準備は完了です。
コンテナを終了しても、作成したデータベースの内容は保持される設定にしています。

起動コマンド

それではコンテナを起動し、コンテナの中に入ってpostgreSQLにログインします。

docker-compose up -d
docker-compose exec db bash
psql -U admin

コンテナを停止する時は、

¥q
exit
docker-compose down

で終了してください。

コンテナのボリュームを削除するには、

docker-compose down -v

を実行しましょう。

参考

Docker で作る postgres 環境
"https://crudzoo.com/blog/docker-postgres"

今日の一言

dockerで破壊と創造の神になれます。