資料庫的部分我們選用 postgreSQL,為什麼選用 postgreSQL?因為我沒用過,我想順便學一下。安裝資料庫這種事情,我可不行搞臭我的電腦,所以我們可以選擇把 postgreSQL 安裝在 docker 裡面。
為了避免我們開發到一半資料不見,我們先用 docker 創一個自己的 volume whisper_db
docker volume create whisper_db
接著查看 postgreSQL 在 DockerHub 上的頁面 https://hub.docker.com/_/postgres
我們可以建立一個 docker-compose.yml
檔
# Use postgres/example user/password credentials
version: '3.9'
services:
db:
image: postgres
shm_size: 128mb
volumes:
- whisper_db:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: example
adminer:
image: adminer
ports:
- 8080:8080
volumes:
whisper_db:
接著我們使用 docker-compose
建立 image 和 container
docker-compose up -d
接著使用瀏覽器進入 http://localhost:8080 ,就可以看到 adminer 圖行化介面了,預設的帳號是 postgres
而密碼則是在 docker-compose.yml
中指定的 example
可以直接用 adminer 建立資料庫,但我想說還是來練一下 command line 的打法。查看目前正在執行的 container
docker ps
進入 PostgreSQL 的命令列,-U
參數用於指定要連接的資料庫用戶名,預設為 postgres
docker exec -it <container_name> psql -U postgres
進入後就會像這樣
PS C:\Users\kashiwa> docker exec -it a2790f6a0d02 psql -U postgres
psql (16.4 (Debian 16.4-1.pgdg120+1))
Type "help" for help.
postgres=#
我們可以使用 CREATE DATABASE <database_name>;
的指令來新增資料庫,這裡以 whipser
示範
postgres=# CREATE DATABASE whisper;
接著使用 \l
來列出所有資料庫
postgres=# \l