iT邦幫忙

2024 iThome 鐵人賽

DAY 25
0
Mobile Development

從零開始以Flutter打造跨平台聊天APP系列 第 25

Day-25 實作(5) 在 Docker 中使用 PostgreSQL 建立資料庫

  • 分享至 

  • xImage
  •  

資料庫的部分我們選用 postgreSQL,為什麼選用 postgreSQL?因為我沒用過,我想順便學一下。安裝資料庫這種事情,我可不行搞臭我的電腦,所以我們可以選擇把 postgreSQL 安裝在 docker 裡面。

在 docker 中安裝 postgreSQL

為了避免我們開發到一半資料不見,我們先用 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

https://ithelp.ithome.com.tw/upload/images/20240926/20129540S8zf0QiDPb.png

https://ithelp.ithome.com.tw/upload/images/20240926/20129540QbAWsxzI0N.png

建立資料庫

可以直接用 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

https://ithelp.ithome.com.tw/upload/images/20240927/20129540RHRjeCOZYM.png

建立資料表


上一篇
Day-24 實作(5) 設計 API
系列文
從零開始以Flutter打造跨平台聊天APP25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言