Dcoker實踐:使用Docker部署KissLists待辦事項清單工具
更新于:2025-03-26 01:36:46

Dcoker實踐:使用Docker部署KissLists待辦事項清單工具

  • 1.1 KissLists 簡介

  • 1.2 主要特點

  • 1.3 注意事項

  • 2.1 本地環境規劃

  • 2.2 本次實踐介紹

  • 3.1 檢查Docker服務狀態

  • 3.2 檢查Docker版本

  • 3.3 檢查docker compose 版本

  • 5.1 創建部署目錄

  • 5.2 docker-cli方式部署(可選)

  • 5.3 編輯部署檔

  • 5.4 創建KissLists容器

  • 5.5 查看KissLists容器狀態

  • 5.6 檢查KissLists容器日誌

  • 6.1 訪問KissLists初始頁

  • 6.2 創建共享清單

  • 6.3 創建專案

一、KissLists介紹

1.1 KissLists 簡介

KissLists 是一個設計簡潔的共用清單伺服器,旨在為使用者提供一種快速、簡便的方式來進行清單的創建與共用。它特別適合那些需要與他人協作完成任務或共同管理專案的人群使用。KissLists 通過其移動優化的設計和基本的主題支援,確保了使用者在不同設備上的良好體驗。

1.2 主要特點

  • 移動優化設計:無論是在手機、平板還是電腦上,KissLists 都能提供一致且流暢的用戶體驗,確保清單可以隨時隨地進行訪問和編輯。

  • 基本主題支援:允許用戶根據個人喜好調整介面外觀,雖然選擇有限,但這足以滿足大多數用戶的個人化需求。

  • WebSockets 消息:利用 WebSockets 技術實現即時通信,當清單發生更改時,所有在線的參與者幾乎可以立即看到更新,大大提高了協作效率。

  • SQLite 資料庫:採用 SQLite 作為數據存儲方案,使得安裝和維護變得簡單,同時也保證了數據的安全性和可靠性。

1.3 注意事項

儘管 KissLists 提供了便捷的共用清單服務,但它也存在一些限制:

  • 無內置身份驗證:這意味著任何人都可以通過連結訪問和編輯共享清單,因此在使用時需注意保護連結的安全性。

  • 無使用者管理功能:沒有提供使用者賬戶系統,無法對不同的用戶進行許可權控制。

  • 無管理員面板:缺乏對整個系統的集中管理工具,如設置、監控等。

  • 無導入/匯出功能:使用者不能將現有的數據導入到 KissLists 中,也無法將清單中的數據匯出以備不時之需。

二、本次實踐規劃

2.1 本地環境規劃

本次實踐為個人測試環境,操作系統版本為|Ubuntu 22.04.1。

hostname IP位址 操作系統版本 Docker版本 鏡像名稱 jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 allyouneedisgnu/kisslists:latest

2.2 本次實踐介紹

1.本次實踐部署環境為個人測試環境,生產環境請謹慎; 2.在Docker環境下部署KissLists檔案共享清單程式。

三、本地環境檢查

3.1 檢查Docker服務狀態

檢查Docker服務是否正常運行,確保Docker正常運行。

root@jeven01:~# systemctl status docker ● docker.service - Docker Application Container Engine      Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)      Active: active (running) since Fri 2024-11-01 00:45:50 CST; 3 weeks 0 days ago    Main PID: 10450 (dockerd)       Tasks: 150 (limit: 9387)      Memory: 3.4G         CPU: 46min 54.584s      CGroup: /system.slice/docker.service              ├─10450 /usr/bin/dockerd              ├─10459 containerd --config /var/run/docker/containerd/containerd.toml

3.2 檢查Docker版本

檢查Docker版本

root@jeven01:~# docker -v Docker version 27.1.1, build 6312585

3.3 檢查docker compose 版本

檢查Docker compose版本,確保2.0以上版本。

root@jeven01:~# docker compose version Docker Compose version v2.19.1

四、下載KissLists鏡像

執行以下命令,拉取以下KissLists鏡像。

root@jeven01:~# docker pull allyouneedisgnu/kisslists Using default tag: latest latest: Pulling from allyouneedisgnu/kisslists ba3557a56b15: Pull complete 8183e820845d: Pull complete Digest: sha256:93a72915c9693744581a016086d91e739170471c3fbb18e84f5aea2d7010ed97 Status: Downloaded newer image for allyouneedisgnu/kisslists:latest docker.io/allyouneedisgnu/kisslists:latest

五、部署KissLists應用

5.1 創建部署目錄

  • 創建部署目錄

mkdir -p /data/kisslists && cd /data/kisslists

5.2 docker-cli方式部署(可選)

可使用以下docker-cli方式,快速部署KissLists應用。

docker run -d     --restart alwats     --name myapp_kl     -p 9300:80     -v $(pwd):/kisslists     allyouneedisgnu/kisslists

5.3 編輯部署檔

本次實踐使用docker compose方式部署,在部署目錄下,創建docker-compose.yaml檔,其中宿主機映射埠等可以自定義配置。

vim docker-compose.yamlversion: "3.8" services:  kisslists:   image: allyouneedisgnu/kisslists   container_name:  myapp_kl   restart: always    volumes:     - /data/kisslists/data:/kisslists   ports:     - 9300:80      

5.4 創建KissLists容器

執行以下命令,創建KissLists容器。

root@jeven01:/data/kisslists# docker compose up -d [+] Running 2/2  ✔ Network kisslists_default  Created                                                                               0.1s  ✔ Container myapp_kl         Started                                                                               0.3s

5.5 查看KissLists容器狀態

檢查KissLists容器狀態狀態,確保KissLists容器正常啟動。

root@jeven01:/data/kisslists# docker compose ps NAME                IMAGE                       COMMAND                  SERVICE             CREATED             STATUS            PORTS myapp_kl            allyouneedisgnu/kisslists   "/bin/sh -c '/root/k…"   kisslists           54 seconds ago      Up 53 seconds       0.0.0.0:9300->80/tcp, :::9300->80/tcp

5.6 檢查KissLists容器日誌

檢查KissLists容器日誌,確保KissLists服務正常運行。

root@jeven01:/data/kisslists# docker compose logs myapp_kl  | Listenning on http://0.0.0.0:80

六、訪問KissLists服務

6.1 訪問KissLists初始頁

訪問位址:http://192.168.3.88:9300,將IP替換為自己伺服器IP位址。如果無法訪問到以下頁面,則檢查宿主機的防火牆是否關閉或者放行相關埠,雲伺服器則還需要設置安全組規則。

6.2 創建共享清單

點擊主頁的“Create a new list ”,開始創建一個共享清單,名稱自訂即可。

6.3 創建專案

我們點擊“New item” 創建專案,如下所示:

查看所有待辦事項清單,如下所示:

七、總結

在使用 Docker 部署 KissLists 的過程中,體驗到了其簡潔高效的特性。通過 Docker 容器化,KissLists 的部署變得非常簡單,僅需幾條命令即可完成。移動優化的設計使得在手機和平板上操作同樣流暢,極大地提升了用戶體驗。儘管缺少內置的身份驗證和使用者管理功能,但其輕量級的特性和實時協作能力依然使其成為團隊協作的理想選擇。