【Docker项目实战】使用Docker部署KissLists待办事项列表工具
一、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
Docs: https://docs.docker.com
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.yaml
version: "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 的部署变得非常简单,仅需几条命令即可完成。移动优化的设计使得在手机和平板上操作同样流畅,极大地提升了用户体验。尽管缺少内置的身份验证和用户管理功能,但其轻量级的特性和实时协作能力依然使其成为团队协作的理想选择。
- 点赞
- 收藏
- 关注作者
评论(0)