スポンサーリンク
概要
MacのDocker上でPostgresSQLを動かす。
参考元
https://qiita.com/oono_yoshi/items/e935d2132f456b4e0da9
スポンサーリンク
前提
Mac OS 10.15.4
スポンサーリンク
スポンサーリンク
手順
Docker for Macをインストール
Dockerを未インストールの場合は下記からDockerをインストールする。
(記事作成時には最新の2.2.0.5をインストール)
https://hub.docker.com/editions/community/docker-ce-desktop-mac
画面右にGet Dockerボタンからファイルをダウンロードしてインストールする。
docker-compose.yml作成
任意のディレクトリを作成して下記のdocker-compose.ymlを作成する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
version: '3' volumes: # ※ホストOSで永続化 postgres_data: driver: 'local' services: postgres: build: context: ./postgres dockerfile: Dockerfile container_name: "postgres_db" environment: POSTGRES_PASSWORD: postgres #スーパーユーザ(postgres)のパスワード POSTGRES_USER: test #ユーザアカウント POSTGRES_DB: testDb #DB名 TZ: "Asia/Tokyo" ports: - 15432:5432 #ホストOSの15432をコンテナ内の5432にマッピング volumes: - ./postgres/data:/var/lib/postgresql/data # ※ホストOSで永続化 - ./postgres/sql:/docker-entrypoint-initdb.d |
Dockerfileの作成
下記の用にpomposeファイルの直下にpostgresディレクトリを作成して中にDockerfileを作成する。
ディレクトリ構成
1 2 3 4 5 |
|- docker-compose.yml |- postgres |-Dockerfile |-data |-sql |
Dockerfile
1 2 3 |
FROM postgres:12.2 RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8 ENV LANG ja_JP.utf8 |
今回はpostgres 12.2を使用するが使用したいバージョンに合わせて変更を行う。
スポンサーリンク
起動
下記のコマンドをdocker-compose.ymlファイルのディレクトリ内で実行する。
(dをつける事でバックグラウンドで実行されるので、その後他のコマンドが打てる)
1 |
docker-compose up -d |
下記のコマンドを実行してコンテナが立ち上がっているかを確認する。
1 |
docker-compose ps |
コンテナが立ち上がっていれば下記のように表示される。
1 2 3 |
Name Command State Ports ----------------------------------------------------------------------------- postgres_db docker-entrypoint.sh postgres Up 0.0.0.0:15432->5432/tcp |
接続確認
実際に接続できるか確認を行う。
今回はクライアントとしてDBbeaverを使用する。
未インストールの場合、インストールを予め行う。
(記事作成時のバージョンは7.0.3.202004191823)
接続設定として下記に注意する。
1. 接続作はlocalhostでPortは15432(docker-compose.ymlで設定した値。)
2. 接続databaseはtestDb(docker-compose.ymlで設定した値。)
3. 認証はtest,passwordを指定(docker-compose.ymlで設定した値。)
下記のように接続できれば成功。
止めたい場合は下記
docker-compose stop
この後、Railsで動かすには下記を参照
https://qiita.com/taKassi/items/8e43171aeda300b67213