Docker实战 | 使用Docker部署moments极简朋友圈

发布时间:2026/7/30 18:05:04
Docker实战 | 使用Docker部署moments极简朋友圈 Docker实战 | 使用Docker部署moments极简朋友圈一、moments介绍1.1 moments 平台简介1.2 主要特点二、本次实践规划2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 检查Docker服务状态3.2 检查Docker版本3.3 检查docker compose 版本四、下载moments镜像五、部署moments应用5.1 创建部署目录5.2 docker-cli方式部署可选5.3 编辑部署文件5.4 创建moments容器5.5 查看moments容器状态5.6 检查moments容器日志六、访问moments服务6.1 访问moments初始页6.2 登录moments七、moments基本使用7.1 开放注册7.2 注册用户7.3 发布信息八、总结一、moments介绍1.1 moments 平台简介moments 是一个极简设计的朋友圈社交平台旨在为用户提供一个简洁而高效的分享空间。它允许用户轻松记录和分享生活中的点滴时刻、创意作品以及其他任何想要记录的内容。通过其直观的界面和一系列实用功能moments 促进了用户之间的交流与互动。1.2 主要特点多用户模式支持多个独立账户注册登录管理员可在后台灵活控制用户注册选项以满足不同场景下的需求。Memo 功能用户可以创建备忘录或笔记并利用标签进行分类管理方便快速查找和组织信息。多媒体支持提供图片上传功能既可以直接上传至服务器也可以配置后台设置启用S3云存储服务目前仅在直接上传时支持生成缩略图未来版本将扩展此功能到S3上传。Markdown 语法支持初步适配了部分常用的 Markdown 标签简化了文本格式化的过程计划在未来更新中增加对更多标签的支持。社交互动内置点赞和评论系统增强用户间的交流互动管理员还可以在后台选择性地开启或关闭评论功能确保社区环境的和谐。个性化体验支持自定义个人资料、头像及背景图等元素帮助用户打造独一无二的个人页面。内容可见性设置提供了查看权限的功能如私密或指定用户可见保障用户的隐私和内容安全。二、本次实践规划2.1 本地环境规划本次实践为个人测试环境操作系统版本为|Ubuntu 22.04.1。hostnameIP地址操作系统版本Docker版本项目名称jeven01192.168.3.88Ubuntu 22.04.1LTS 24.0.7moments社交平台2.2 本次实践介绍1.本次实践部署环境为个人测试环境生产环境请谨慎2.在Docker环境下部署moments极简朋友圈三、本地环境检查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四、下载moments镜像执行以下命令拉取以下moments镜像。当前镜像版本为0.2.8使用 kingwrcy/moments:0.2.8镜像。rootjeven01:~# docker pull kingwrcy/moments:0.2.80.2.8: Pulling from kingwrcy/moments Digest: sha256:522be9f6db38e63aaa728dd99eb693b3bcc720459433c21f1424516f7fce7b56 Status: Downloaded newer imageforkingwrcy/moments:0.2.8 docker.io/kingwrcy/moments:0.2.8五、部署moments应用5.1 创建部署目录创建部署目录mkdir-p/data/momentscd/data/moments5.2 docker-cli方式部署可选可使用以下docker-cli方式快速部署rmoments应用。dockerrun-d\-ePORT3000\-eJWT_KEY$JWT_KEY\-p3000:3000\-v/var/moments:/app/data\--namemoments\kingwrcy/moments:latest5.3 编辑部署文件本次实践使用docker compose方式部署在部署目录下创建docker-compose.yaml文件其中宿主机映射端口等可以自定义配置。vimdocker-compose.yamlversion:3.9services:moments:image:kingwrcy/moments:latestcontainer_name:momentsrestart:alwaysenvironment:PORT:3000JWT_KEY:640b17a60208afa5bb311d49ead11bd7862d28e157431d3b92f33d1c3bab239cports:-3000:3000volumes:-/data/moments/data:/app/data# 持久化数据到主机的 /var/moments 目录可以按需修改5.4 创建moments容器执行以下命令创建moments容器。rootjeven01:/data/moments# docker compose up -d[]Running6/6 ✔ moments5layers[⣿⣿⣿⣿⣿]0B/0B Pulled16.6s ✔ 38a8310d387e Already exists0.0s ✔ 8a5b75aba17d Pull complete0.7s ✔ b7f69174cb58 Pull complete3.1s ✔ e19dc3657316 Pull complete9.5s ✔ 4f4fb700ef54 Pull complete9.6s[]Running2/2 ✔ Network moments_default Created0.1s ✔ Container moments Started0.3s5.5 查看moments容器状态检查moments容器状态状态确保moments容器正常启动。rootjeven01:/data/moments# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS moments kingwrcy/moments:latest/app/momentsmoments25minutes ago Up25minutes0.0.0.0:3000-3000/tcp, :::3000-3000/tcp5.6 检查moments容器日志检查moments容器日志确保moments服务正常运行。rootjeven01:/data/moments# docker compose logsmoments|2025-01-09 00:31:55 INF version0.2.8 moments|2025-01-09 00:31:55 INF commitId0f0b2f8 moments|2025-01-09 00:31:56 INF 初始化默认配置... moments|2025-01-09 00:31:56 INF 用户不存在,初始化[admin/a123456]用户... 成功!moments|2025-01-09 00:31:56 INF 初始化默认配置执行成功 moments|⇨ http server started on[::]:3000 moments|2025-01-09 00:34:48 INF memo is{Id:0 Content:aa1a1a1 Imgs:/upload/9a053a2ad16b465f9d36601cf7b0f48e FavCount:0 CommentCount:0 UserId:1 CreatedAt:2025-01-09 00:34:48.429327595 0800 CSTm172.449048114 UpdatedAt:nilMusic163Url:BilibiliUrl: Location: ExternalUrl: ExternalTitle: ExternalFavicon: Pinned:0xc0000b96d7 Ext:{music:{},doubanBook:{},doubanMovie:{},video:{}}ShowType:0xc0000b96d8 User:nilComments:[]Tags:nil}六、访问moments服务6.1 访问moments初始页访问地址http://192.168.3.88:3000将IP替换为自己服务器IP地址。如果无法访问到以下页面则检查宿主机的防火墙是否关闭或者放行相关端口云服务器则还需要设置安全组规则。6.2 登录moments默认用户名和密码是 admin/a123456登录后可以在后台修改。七、moments基本使用7.1 开放注册点击系统设置选项开启注册用户选项保存配置即可。7.2 注册用户在注册用户选项自定义填写用户信息确认即可。使用新注册的用户登录moments如下所示7.3 发布信息在编辑框内编辑内容发布即可。八、总结moments 是一个设计简洁的朋友圈社交平台它提供了一个直观的界面和多种实用功能让用户能够轻松地记录和分享生活中的各种时刻。平台支持多媒体上传、Markdown 语法、点赞评论等互动特性并允许管理员灵活管理用户注册和评论功能确保了社区的活跃与和谐。通过其个性化的设置选项和内容可见性控制moments 为用户打造了一个既安全又充满交流乐趣的在线空间。