news 2026/7/30 18:04:51

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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正常运行。

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 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.service

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -vDocker version24.0.7, build24.0.7-0ubuntu2~22.04.1

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

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

四、下载moments镜像

执行以下命令,拉取以下moments镜像。当前镜像版本为0.2.8,使用 kingwrcy/moments:0.2.8镜像。

root@jeven01:~# 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/moments&&cd/data/moments

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

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

dockerrun-d\-ePORT=3000\-eJWT_KEY=$JWT_KEY\-p3000:3000\-v/var/moments:/app/data\--namemoments\kingwrcy/moments:latest

5.3 编辑部署文件

本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。

vimdocker-compose.yaml
version:'3.9'services: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容器。

root@jeven01:/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.3s

5.5 查看moments容器状态

检查moments容器状态状态,确保moments容器正常启动。

root@jeven01:/data/moments# docker compose psNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS moments kingwrcy/moments:latest"/app/moments"moments25minutes ago Up25minutes0.0.0.0:3000->3000/tcp, :::3000->3000/tcp

5.6 检查moments容器日志

检查moments容器日志,确保moments服务正常运行。

root@jeven01:/data/moments# docker compose logsmoments|2025-01-09 00:31:55 INF version=0.2.8 moments|2025-01-09 00:31:55 INF commitId=0f0b2f8 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 CSTm=+172.449048114 UpdatedAt:<nil>Music163Url:BilibiliUrl: Location: ExternalUrl: ExternalTitle: ExternalFavicon: Pinned:0xc0000b96d7 Ext:{"music":{},"doubanBook":{},"doubanMovie":{},"video":{}}ShowType:0xc0000b96d8 User:<nil>Comments:[]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 为用户打造了一个既安全又充满交流乐趣的在线空间。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/30 18:02:44

C语言中的自增与自减运算符:深入探讨其工作原理与潜在陷阱

在C语言中&#xff0c;自增&#xff08;&#xff09;和自减&#xff08;--&#xff09;运算符是两个非常基础且常用的运算符。它们看似简单&#xff0c;但在实际使用中却隐藏着不少细节和潜在的陷阱。本文将通过问题排查记录的形式&#xff0c;深入探讨这两个运算符的工作机制&…

作者头像 李华
网站建设 2026/7/30 17:57:33

苹果设备驱动一键安装:告别Windows无法识别iPhone的烦恼

苹果设备驱动一键安装&#xff1a;告别Windows无法识别iPhone的烦恼 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_m…

作者头像 李华
网站建设 2026/7/30 17:54:12

git Update project 报错

git Update project 报错 9:17 Update failed remote: The project you were looking for could not be found. repository ‘http://xxxx/xxxxxxxxx.git/’ not found 9:17 Update canceled 删除 origin 远程仓库 git remote remove origin 添加新的 origin 地址&#xff08;替…

作者头像 李华
网站建设 2026/7/30 17:51:46

如何用YimMenu彻底解决GTA5在线模式的崩溃问题?终极防护指南

如何用YimMenu彻底解决GTA5在线模式的崩溃问题&#xff1f;终极防护指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/y…

作者头像 李华
网站建设 2026/7/30 17:49:19

私有化部署企业级AI Agent 怎么选?安全与成本评估

金融、能源、政务、军工、医疗&#xff0c;这些行业的数据天生带着 “不能出门” 的属性。客户隐私、财务数据、核心工艺参数&#xff0c;任何一条流出内网都是合规事故。 私有化部署企业级 AI Agent&#xff0c;解决的核心问题是信任。企业要把敏感数据交给 AI 处理&#xff0…

作者头像 李华