iT邦幫忙

2022 iThome 鐵人賽

DAY 22
0

今天來點簡單一點的,

我們在 D10 - Database by Docker 時介紹了如何用 Docker 架設身為關聯式資料庫的 MariaDB,

相對於關聯式資料庫,NoSQL 是另一種常見的選擇,適合用在需要彈性格式的資料上,

NoSQL 最明顯的特色,就是可以輕鬆寫入巢狀結構的資料,每筆資料就像是 JavsScript 的物件 {} 一樣,

NoSQL 也有很多種不同的軟體或服務,一個很知名的就是 MongoDB
今天讓我們來看看如何透過 Docker 來架設 MongoDB。


MongoDB Official Image

一樣搜尋現成的 docker image,mongo 也有被列入官方 image 的其中之一,

我們接下來就看看需要在 docker-compose 中定義哪些東西:

環境變數

跟 MariaDB 一樣,需要給予一些基本的設定:

# .env

MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=your-root-password

docker-compose.yml

MongoDB 預設使用的是 Port 27017,
另外我們把 Volume 綁在 ~/database/mongo 路徑下,

# docker-compose.yml

version: "3"
services:
  mongo:
    image: mongo:6
    restart: unless-stopped
    ports:
      - 27017:27017
    env_file:
      - .env
    volumes:
      - ${HOME}/database/mongo:/data/db

把 container 跑起來:

$ docker compose up -d

連線

關於要如何連線到 MongoDB,Studio 3T 是很容易搜尋到的一款 GUI 工具,
另外 TablePlus 這款關聯式資料庫的 GUI 工具,最近也看到了 MongoDB 的選項,雖然還在 Beta 測試,

按照上面的 Docker compose,我們架設的 MongoDB,URL 會是這樣子:

mongodb://root:your-root-password@localhost:27017

tableplus
studio 3T

這樣就能連到我們架設的資料庫了,

用 Docker 的好處就是可以不用把資料庫裝在 Server 上,並且可以快速啟動或關閉。


上一篇
D21 - PHP 指定版本的開發環境 ft. Laravel
下一篇
D23 - 連接 Database
系列文
其實沒有那麼難 — Docker30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言