Home 利用Docker建立PostgreSQL開發環境
Post
Cancel

利用Docker建立PostgreSQL開發環境

首先先將需要的configuration variable放到環境變數裏,在這裡就是我們的PostgreSQL database server要起在哪一個port,user,password,db等等,準備好你的 dev.env檔案如下,然後執行 . ./dev.env

1
2
3
export PG_PORT=5432
export PG_USER=admin
export PG_PWD=secretpwd

再來是一個shell script run_postgres.sh ,記錄下docker指令,以便之後繼續使用

1
2
3
4
5
6
7
8
#!/bin/sh
docker run                                  \
  -d                                        \
  -p $PG_PORT:5432                          \
  -e POSTGRES_USER="$PG_USER"               \
  -e POSTGRES_PASSWORD="$PG_PASSWORD"       \
  -v "$PWD/pgdata":/var/lib/postgresql/data \
  postgres

解釋一下這個docker指令各個參數的意義:

  1. -d 在背景執行
  2. -p $PG_PORT:5432 將容器內的5432port映射到本機的$PG_PORT
  3. -e 注入環境變數到容器裏,有哪些環境變數可用,可以參考官方連結https://hub.docker.com/_/postgres/
  4. -v 將容器內的檔案掛載到本機,此處將容器內存放postgres 資料的資料夾 /var/lib/postgresql/data 掛載到$PWD/pgdata,也就是當前目錄的pgdata資料夾
  5. postgres為image的名稱,可以用例如postgres:latest, postgres:9.6,後面加上版本號,沒加就是latest,可用的版本及latest是哪一版可以從此連結查詢https://hub.docker.com/_/postgres/

執行完之後執行 docker ps 就可以看到container的資訊如下

接下來要進去容器裡面create table,下下sql指令的話,就是執行

docker exec -it {container id} psql -U $PG_USER

PG_USER是我們的環境變數,預設的DB(此處為admin)的名字就跟PG_USER一樣,進去容器之後看到如下,就可以開始使用拉~

This post is licensed under CC BY 4.0 by the author.

使用Node.js + Express整合Line Notify通知服務

InstMap TW — 從地圖上找尋附近的台灣Instagram熱門景點

Comments powered by Disqus.