
【Docker项目实战】使用Docker部署rmoments简单朋友圈应用一、rmoments介绍1.1 rmoments项目简介1.2 主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载rmoments镜像五、部署rmoments应用5.1 创建部署目录5.2 docker-cli方式部署可选5.3 编辑部署文件5.4 创建rmoments容器5.5 查看rmoments容器状态5.6 检查rmoments容器日志六、访问rmoments服务6.1 访问rmoments初始页6.2 登录rmoments6.3 邮箱设置6.4 注册账号6.5 发布内容七、总结一、rmoments介绍1.1 rmoments项目简介rmoments 是一个基于原版 moments 构建的社交平台复刻版本旨在为用户提供一个多用户互动的环境。它不仅继承了原版的所有特性还特别强化了多用户的交互体验使得个人和团队能够更方便地分享生活点滴、创意作品或任何想要记录的内容。1.2 主要特点多用户支持与原版不同rmoments 允许多个用户注册并使用平台每个用户都可以创建自己的内容进行个性化设置。互动功能包括匿名评论和点赞增强了用户之间的互动性同时保护了那些希望保持匿名的用户隐私。多媒体集成轻松引入网易云音乐、B站视频以及外部链接丰富内容形式支持 Markdown 格式化文本部分便于撰写有格式的文章。个性化定制允许用户自定义头图、个人头像及网站标题等让每个人的页面独一无二。云端存储提供 S3 兼容的云存储服务用于上传图片同时也兼容本地存储方案确保数据的安全性和灵活性。移动设备友好针对手机进行了优化适配无论是在桌面端还是移动端都能获得良好的浏览体验。暗黑模式内置暗黑主题减少夜间使用时的眼睛疲劳。数据库管理采用 SQLite 数据库方便随时备份恢复保证数据安全。第三方服务整合如豆瓣读书/电影扩展了内容来源让用户可以分享更多类型的信息。地理位置服务自动获取位置信息帮助用户标记他们的活动地点。人机验证实现了几乎无感的人机验证机制保障社区免受机器人骚扰的同时不影响用户体验。消息通知通过邮件或站内信推送重要更新不错过任何动态。内容组织支持标签(Tag)功能提及他人以及设置查看权限例如私密或特定用户可见使信息管理和分享更加有序。图片排序上传后的图片可以通过拖动来调整顺序简化了相册整理过程。二、本次实践规划2.1 本地环境规划本次实践为个人测试环境操作系统版本为|Ubuntu 22.04.1。hostnameIP地址操作系统版本Docker版本项目名称jeven01192.168.3.88Ubuntu 22.04.1 LTS 24.0.7rmoments应用2.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下部署rmoments社交平台。三、本地环境检查3.1 检查Docker服务状态检查Docker服务是否正常运行确保Docker正常运行。rootjeven01:~# systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded(/lib/systemd/system/docker.service;enabled;vendor preset: enabled)Active: active(running)since Mon2025-01-0614:00:01 UTC;34min ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID:918(dockerd)Tasks:16Memory:106.8M CPU:3.741s CGroup: /system.slice/docker.service3.2 检查Docker版本检查Docker版本rootjeven01:~# docker -vDocker version24.0.7, build24.0.7-0ubuntu2~22.04.13.3 检查docker compose 版本检查Docker compose版本确保2.0以上版本。rootjeven01:~# docker compose versionDocker Compose version v2.19.1四、下载rmoments镜像执行以下命令拉取以下rmoments镜像。rootjeven01:~# docker pull ranjie/rmoments:v0.4.1_with_redisv0.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 imageforranjie/rmoments:v0.4.1_with_redis docker.io/ranjie/rmoments:v0.4.1_with_redis五、部署rmoments应用5.1 创建部署目录创建部署目录mkdir-p/data/rmomentscd/data/rmoments5.2 docker-cli方式部署可选可使用以下docker-cli方式快速部署rmoments应用。dockerrun-d\--restartalways\--namermoments\-p3500:3000\-v$(pwd)/data:/app/data/\ranjie/rmoments:v0.4.1_with_redis5.3 编辑部署文件本次实践使用docker compose方式部署在部署目录下创建docker-compose.yaml文件其中宿主机映射端口等可以自定义配置。vimdocker-compose.yamlversion:3.9services:rmoments:image:ranjie/rmoments:v0.4.1_with_redisvolumes:-/data/rmoments/data:/app/data/ports:-2800:3000container_name:rmomentsrestart:always5.4 创建rmoments容器执行以下命令创建rmoments容器。rootjeven01:/data/rmoments# docker compose up -d[]Running2/2 ✔ Network rmoments_default Created0.1s ✔ Container rmoments Started0.2s5.5 查看rmoments容器状态检查rmoments容器状态状态确保rmoments容器正常启动。rootjeven01:/data/rmoments# docker compose psNAME IMAGE COMMAND SERVICE CREATEDSTATUS PORTS rmoments ranjie/rmoments:v0.4.1_with_redis/bin/sh -c /app/sta…rmoments28seconds agoUp27seconds0.0.0.0:2800-3000/tcp, :::2800-3000/tcp5.6 检查rmoments容器日志检查rmoments容器日志确保rmoments服务正常运行。rootjeven01:/data/rmoments# docker compose logsrmoments|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 成为了个人和团队分享生活与创意的理想选择。