【Docker项目实战】使用Docker部署rmoments简单朋友圈应用
【摘要】 【Docker项目实战】使用Docker部署rmoments简单朋友圈应用
@TOC
一、rmoments介绍
1.1 rmoments项目简介
rmoments 是一个基于原版 moments 构建的社交平台复刻版本,旨在为用户提供一个多用户互动的环境。它不仅继承了原版的所有特性,还特别强化了多用户的交互体验,使得个人和团队能够更方便地分享生活点滴、创意作品或任何想要记录的内容。
1.2 主要特点
-
多用户支持:与原版不同,rmoments 允许多个用户注册并使用平台,每个用户都可以创建自己的内容,进行个性化设置。
-
互动功能:包括匿名评论和点赞,增强了用户之间的互动性,同时保护了那些希望保持匿名的用户隐私。
-
多媒体集成:轻松引入网易云音乐、B站视频以及外部链接,丰富内容形式;支持 Markdown 格式化文本(部分),便于撰写有格式的文章。
-
个性化定制:允许用户自定义头图、个人头像及网站标题等,让每个人的页面独一无二。
-
云端存储:提供 S3 兼容的云存储服务用于上传图片,同时也兼容本地存储方案,确保数据的安全性和灵活性。
-
移动设备友好:针对手机进行了优化适配,无论是在桌面端还是移动端都能获得良好的浏览体验。
-
暗黑模式:内置暗黑主题,减少夜间使用时的眼睛疲劳。
-
数据库管理:采用 SQLite 数据库,方便随时备份恢复,保证数据安全。
-
第三方服务整合:如豆瓣读书/电影,扩展了内容来源,让用户可以分享更多类型的信息。
-
地理位置服务:自动获取位置信息,帮助用户标记他们的活动地点。
-
人机验证:实现了几乎无感的人机验证机制,保障社区免受机器人骚扰的同时不影响用户体验。
-
消息通知:通过邮件或站内信推送重要更新,不错过任何动态。
-
内容组织:支持标签(Tag)功能,@提及他人,以及设置查看权限(例如私密或特定用户可见),使信息管理和分享更加有序。
-
图片排序:上传后的图片可以通过拖动来调整顺序,简化了相册整理过程。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 项目名称 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS 24.0.7 | rmoments应用 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署rmoments社交平台。
三、本地环境检查
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 Mon 2025-01-06 14:00:01 UTC; 34min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 918 (dockerd)
Tasks: 16
Memory: 106.8M
CPU: 3.741s
CGroup: /system.slice/docker.service
3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、下载rmoments镜像
执行以下命令,拉取以下rmoments镜像。
root@jeven01:~# docker pull ranjie/rmoments:v0.4.1_with_redis
v0.4.1_with_redis: Pulling from ranjie/rmoments
c6cf28de8a06: Pull complete
490dedf223e2: Pull complete
712cce81897f: Pull complete
32579adc17be: Pull complete
7c8266ca5e11: Pull complete
e321cdb3a533: Pull complete
9fbc18b9ea63: Pull complete
9617aee8fa9c: Pull complete
41bcc25b76c0: Pull complete
db5edf39e89e: Pull complete
cd6e3a1087ba: Pull complete
1f038e25e215: Pull complete
2aad9e2aa429: Pull complete
c64c440fc927: Pull complete
Digest: sha256:30676f09328e6ddca52365729caa7086324620685bbb9892d4b1fa3963096a97
Status: Downloaded newer image for ranjie/rmoments:v0.4.1_with_redis
docker.io/ranjie/rmoments:v0.4.1_with_redis
五、部署rmoments应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/rmoments && cd /data/rmoments
5.2 docker-cli方式部署(可选)
可使用以下docker-cli方式,快速部署rmoments应用。
docker run -d \
--restart always \
--name rmoments \
-p 3500:3000 \
-v $(pwd)/data:/app/data/ \
ranjie/rmoments:v0.4.1_with_redis
5.3 编辑部署文件
本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3.9'
services:
rmoments:
image: ranjie/rmoments:v0.4.1_with_redis
volumes:
- '/data/rmoments/data:/app/data/'
ports:
- '2800:3000'
container_name: rmoments
restart: always
5.4 创建rmoments容器
执行以下命令,创建rmoments容器。
root@jeven01:/data/rmoments# docker compose up -d
[+] Running 2/2
✔ Network rmoments_default Created 0.1s
✔ Container rmoments Started 0.2s
5.5 查看rmoments容器状态
检查rmoments容器状态状态,确保rmoments容器正常启动。
root@jeven01:/data/rmoments# docker compose ps
NAME IMAGE COMMAND SERVICE CREATEDSTATUS PORTS
rmoments ranjie/rmoments:v0.4.1_with_redis "/bin/sh -c /app/sta…" rmoments 28 seconds agoUp 27 seconds 0.0.0.0:2800->3000/tcp, :::2800->3000/tcp
5.6 检查rmoments容器日志
检查rmoments容器日志,确保rmoments服务正常运行。
root@jeven01:/data/rmoments# docker compose logs
rmoments | OK
rmoments | Listening on http://[::]:3000
六、访问rmoments服务
6.1 访问rmoments初始页
访问地址:http://192.168.3.88:2800,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
6.2 登录rmoments
使用默认的账号密码admin/a123456,登录rmoments主页。
6.3 邮箱设置
系统设置——启用邮箱,如果不开启邮箱,账号注册会失败。
邮箱配置:
- 邮局服务器地址: smtp.126.com;
- 邮局服务器端口:465,如果不启用安全连接,为 25;
- 邮局安全连接:建议启用;
- 邮局用户名:一般要填完整的邮件地址;
- 邮局密码:一般填 <第三方邮件客户端密码>;
- 邮局发件人:一般和邮局用户名一致;
- 邮局发件人名:发件人的名字,自定义填写即可。
6.4 注册账号
在账号注册页面,填写账号信息,点击发送验证码,当正常收到注册邮箱注册码后填写即可。
使用新注册账号登录rmoments,可以看到成功登录。
6.5 发布内容
在输入框内,编辑帖子内容,编辑完毕后发布即可。
七、总结
rmoments 作为一个增强版的社交分享平台,通过引入多用户支持和一系列互动特性,极大地丰富了用户的交流体验。它不仅继承了原版moments的所有功能,还添加了多媒体集成、个性化设置以及云端存储等功能,为用户提供了更加灵活和便捷的内容管理方式。凭借其强大的功能集和用户体验优化,rmoments 成为了个人和团队分享生活与创意的理想选择。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)