🐳

webエンジニアのためのDocker PostgreSQL構築

2023/11/20に公開

はじめに

今までDockerを避けてきましたが、環境構築をやり直す機会があり、せっかくなのでDockerを学んでみることにしました。この記事ではDockerでPostgreSQLを構築しながら使い方を解説していきます。

Dockerとは

コンテナ技術です。従来はホストOSに仮想マシンを立ててその中でゲストOSを動かし、DBやサーバーアプリなどのミドルウェアを動作させていました。
しかしコンテナ技術ではホストOSのカーネルを使うことでDocker上でゲストOS無しでDBやサーバーアプリを動かせるようになります。

PostgreSQLの作成

DockerHubにあるPostgreSQLのイメージを自分のPCにダウンロードしてみましょう
https://hub.docker.com/_/postgres
こちらのコマンドを実行することでダウンロードができます。

docker pull postgres

プルが終わったら以下のコマンドを実行することで自分のPCにダウンロードしたイメージを確認することができます。

docker images

イメージをもとに作成&起動します

docker run --name postgresql -p 127.0.0.1:5432:5432 -e POSTGRES_PASSWORD=password -d postgres 

--nameでコンテナの識別子
-pはポートフォワーディングを設定、自分のPCのポート:コンテナのポートの順で設定する
-eは環境変数の設定オプション、今回はパスワードを設定
-dはデタッチドモードでバックグラウンドで実行される
postgresでコンテナイメージを指定

起動しているコンテナを表示

docker ps

コンテナに入るコマンド

docker exec -it postgresql bash

-itこれをつけることで今操作しているターミナルから操作ができる

DBにアクセスするコマンド

psql -U postgres

停止させるコマンド

docker stop postgresql

作成済みのコンテナを起動させるには違うコマンドを使います。

docker start postgresql

もう使わないコンテナを削除するコマンド

docker rm postgresql

Dockerの操作

ライフサイクル

  • 作成
  • 起動
  • 停止
  • 削除

取得

docker pull イメージ名

作成&起動

docker run --name コンテナ識別子 -e 環境変数 -d イメージ名

起動

docker start コンテナ識別子

停止

docker stop コンテナ識別子

削除

コンテナの削除

docker rm コンテナ識別子

イメージの削除

docker rmi イメージ名:バージョン

まとめ

Dockerを使うといろんなメリットがあることがわかりました。この記事を通してDockerについて少しでも理解が上がったら幸いです。

Discussion