🐳
webエンジニアのためのDocker PostgreSQL構築
はじめに
今までDockerを避けてきましたが、環境構築をやり直す機会があり、せっかくなのでDockerを学んでみることにしました。この記事ではDockerでPostgreSQLを構築しながら使い方を解説していきます。
Dockerとは
コンテナ技術です。従来はホストOSに仮想マシンを立ててその中でゲストOSを動かし、DBやサーバーアプリなどのミドルウェアを動作させていました。
しかしコンテナ技術ではホストOSのカーネルを使うことでDocker上でゲストOS無しでDBやサーバーアプリを動かせるようになります。
PostgreSQLの作成
DockerHubにあるPostgreSQLのイメージを自分のPCにダウンロードしてみましょう
こちらのコマンドを実行することでダウンロードができます。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