ヒトリ歩き

愚痴とかいろいろ書きます

Dockerを使用してPostgreSQLをコンテナで起動する手順

はじめに

PostgreSQLPythonのORマッパーの確認でPostgreSQLを使うので、docker-composeで コンテナを起動してみた。

やること

DockerHubのpostgresのオフィシャルページを確認する。

hub.docker.com

オフィシャルページにdocker-compose.ymlの例が載っているのでこれを使用して、docker-compose.ymlを作成する。

# Use postgres/example user/password credentials
version: '3.1'

services:

  db:
    image: postgres
    restart: always
    environment:
      POSTGRES_PASSWORD: example

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

docker-compose.ymlを作成したら、コンテナを起動。

$ docker-compose up -d

コンテナイメージが起動していることを確認。

$ docker-compose ps

        Name                      Command               State           Ports         
--------------------------------------------------------------------------------------
postgresql_adminer_1   entrypoint.sh php -S [::]: ...   Up      0.0.0.0:8080->8080/tcp
postgresql_db_1        docker-entrypoint.sh postgres    Up      5432/tcp     

ブラウザからhttp://localhost:8080/にアクセスすると、Adminerの画面が表示されるので、 必要な情報を入力して、ログインする。

項目 入力
データベース種類 PostgreSQL
サーバ db
ユーザ名 postgres
パスワード example
データベース postgres

データベースとかを変更したときは?

環境変数を設定するだけで、変更可能。
データベースを変更したい場合、POSTGRES_DB環境変数にデータベース名を設定する。
また、ユーザ名を変更したい場合、POSTGRES_USER環境変数にユーザ名を設定する。

さいごに

DBはなくてはならない存在なので、コンテナでサクッと起動できるのは助かりますね。 他のDBはあまり触ったことがないので、Mariadbとか触ってみよう。