【エンジニア向け】Macbook + docker-composeでpostgresを動かす

今回は、docker-composeを使って、Postgresを動かす方法を解説していきたいと思います。

Macbookにdockerをインストールがまだの方は以下の記事をご覧ください。

MacbookにDockerを入れてNginxを動かしてみよう

docker-composeを使うことで、環境構築する際の設定やインストール物がコード化され、

ポータブルになる + 再利用性が向上する、というメリットがあります。

是非、使いこなせるようになってください。

Macbook + docker-composeでpostgresを動かす

  1. Dockerfileを作成
  2. docker-compose.ymlを作成
  3. docker-composeコマンドで起動

1.Dockerfileを作成

まずは、インストールしたいミドルウェアを、Dockerfileというファイルに定義していきましょう。

FROM postgres:12

ENV TZ Asia/Tokyo
ENV LANG ja_JP.UTF-8
ENV LC_ALL "en_US.UTF-8"
ENV LC_TYPE "en_US.UTF-8"

Postgresのバージョンは12で指定しています。

2.docker-compose.ymlを作成

次に、docker-compose.ymlにdbの設定を書いていきましょう。

version: '3.1'

services:

  db:
    build:
      context: .
      dockerfile: postgres/Dockerfile
    container_name: postgres
    ports:
      - 5432:5432
    restart: always
    environment:
      POSTGRES_PASSWORD: example

最終的なフォルダ構造は以下のような形になりました。

3.docker-composeコマンドで起動

最後は、Macbookからdocker-composeコマンドで立ち上げてみましょう。

ターミナルを開き、「docker-compose.yml」があるフォルダまで移動しましょう。

$ cd [移動先]

移動できたら、docker-composeコマンドで起動させます。

docker-compose up -d --build

以下のようにダウンロードが始まれば成功です。

$ docker-compose up -d --build
=======
Creating network "postgres_default" with the default driver
Building db
Step 1/5 : FROM postgres:12
12: Pulling from library/postgres
f7ec5a41d630: Already exists
d073cd070242: Pull complete
03790957a916: Pull complete
b3776ac15dab: Pull complete
7144fd00aec4: Downloading [=========================================>         ]  6.683MB/7.965MB
54f6491bd120: Download complete
247ab23c6036: Download complete
57800498c536: Download complete
47932702ce7d: Waiting
70be129efb70: Waiting
8193fe8d8b90: Waiting
e126805d9743: Waiting
7e4d1d793d9a: Waiting
141caceea48f: Waiting

完了したら、postgresが立ち上がっているか確認しましょう。

$ docker ps

postgresという名前でコンテナが立ち上がっていれば成功です。

ついでにdockerにログインしてpostgresにログインしてみましょう。

$ docker exec --user postgres -it $(docker ps -aqf "name=postgres") /bin/bash

上記コマンドで、postgresユーザーでdockerのコンテナ内にログインできます。

postgres@[CONTAINER ID]:/$ psql
psql (12.6 (Debian 12.6-1.pgdg100+1))
Type "help" for help.

postgres=#

psqlコマンドで、postgresにログインできました!

===============

以上、Macbook + docker-composeでpostgresを動かす方法を紹介してみました。

この情報が皆さんの人生のお役に立てれば幸いです。

エンジニアとして日本のITリテラシーを高めていきたいと共感して頂いた人は、是非このブログの拡散とyoutubeの方も見ていただけると嬉しいです。

記事を最後まで見ていただきありがとうございました。

執筆者: hiroエンジニア

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です