【Docker项目实战】使用Docker部署JmalCloud个人网盘

简介: 【4月更文挑战第15天】使用Docker部署JmalCloud个人网盘

@TOC

一、JmalCloud介绍

1.1 JmalCloud简介

JmalCloud 是一款私有云存储网盘项目,能够简单安全管理您的云端文件。

1.2 JmalCloud优点

  • ✅ 支持OSS,阿里云OS、腾讯云OSS和MinIO

  • ✅ 支持图片,音频,视频等文件的在线预览

  • ✅ 支持Word、Excel、PPT、流程图和思维导图的编辑和预览

  • ✅ 支持x86、arm64(Centos/Debian/Ubuntu/macOS)

  • ✅ 提供强大的在线文本编辑器

  • ✅ 支持超大文件上传,断点续传

  • ✅ 支持WebDAV

1.3 JmalCloud使用场景

  • 个人云存储:您可以将个人文件存储在 JmalCloud 中,随时随地访问和管理这些文件。您可以上传、下载、删除、分享文件,方便地备份和恢复个人数据。

  • 团队协作:JmalCloud 支持团队云存储,多人可以共享文件夹和文件,并进行实时协作。团队成员可以共同编辑文档、表格、演示文稿等,提高团队工作效率。

  • 文件同步:JmalCloud 支持将本地文件夹与云端文件夹进行同步,确保文件的安全备份和同步更新。您可以设置自动同步,使得本地文件与云端文件保持一致。

  • 多端访问:您可以通过 JmalCloud 的网页端、手机端和客户端进行文件访问和管理。无论是在办公室、家中还是在路上,都可以随时随地查看和修改文件。

  • 文件分享:您可以将 JmalCloud 中的文件分享给其他人,无需下载和发送文件,方便快捷。您可以设置分享链接的权限和有效期,保护文件的安全性。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 2 20.10.17

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署JmalCloud 个人网盘。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2024-01-29 01:31:05 CST; 1 day 14h ago
     Docs: https://docs.docker.com
 Main PID: 9559 (dockerd)
    Tasks: 50
   Memory: 1.9G
   CGroup: /system.slice/docker.service

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

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

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、一键部署方式

4.1 克隆项目到本地

项目地址:https://gitee.com/jmal/jmal-cloud-server.git,克隆项目到本地或服务器。

git clone --depth=1 https://gitee.com/jmal/jmal-cloud-server.git

4.2 进入源码目录

检查JmalCloud源码目录

[root@jeven ~]# tree -L 2 jmal-cloud-server/
jmal-cloud-server/
├── docker
│   ├── Dockerfile
│   ├── ip2region.xdb
│   ├── jmalcloud
│   ├── nginx
│   └── www
├── docker-compose.example.yml
├── docker-compose.yml
├── Dockerfile
├── jc.sh
├── LICENSE
├── pom.xml
├── README.md
├── release-www.sh
├── src
│   ├── main
│   └── test
└── www
    └── releases

9 directories, 10 files

进入目录jmal-cloud-server

cd jmal-cloud-server

4.3 一键安装

./jc.sh install

在这里插入图片描述

  • 更新JmalCloud方法

./jc.sh pull
./jc.sh update

4.4 访问JmalCloud网盘

访问地址:http://192.168.3.166:7070,将IP替换为自己服务器IP地址。如果无法访问,注意防火墙是否设置,如果是云服务器,则需要设置放行安全组端口。

在这里插入图片描述

注册账号,自定义设置即可,进入到JmalCloud网盘首页。

在这里插入图片描述

上传本地文档操作

在这里插入图片描述

五、自定义部署JmalCloud

5.1 下载JmalCloud镜像

从docker hub拉取PicoShare镜像

[root@jeven ~]# docker pull  registry.cn-guangzhou.aliyuncs.com/jmalcloud/jmalcloud:2.2.35
2.2.35: Pulling from jmalcloud/jmalcloud
Digest: sha256:75a4f949585efa132ed3b9cf09427c72d4382af00f8bcf1c3f73561cd42e5639
Status: Image is up to date for registry.cn-guangzhou.aliyuncs.com/jmalcloud/jmalcloud:2.2.35
registry.cn-guangzhou.aliyuncs.com/jmalcloud/jmalcloud:2.2.35

5.2 创建部署目录

创建部署目录/data/jmalcloud

mkdir -p /data/jmalcloud  && cd /data/jmalcloud

5.2 编辑docker-compose.yaml文件

使用docker-cli方式部署,执行命令如下:

docker run \
--restart=always \
--name jmalcloud \
-p 9070:80 \
-p 9071:8080 \
-p 9072:8088 \
-p 27017:27017 \
-v /data/jmalcloud/files/:/jmalcloud/files/ \
-v /data/jmalcloud/db/:/data/db/ \
-d registry.cn-guangzhou.aliyuncs.com/jmalcloud/jmalcloud:2.2.35

本次实践部署使用docker compose方式,编辑docker-compose.yaml文件,可自行修改密码和映射端口。

version: '3'
services:
  jmalcloud:
    image: registry.cn-guangzhou.aliyuncs.com/jmalcloud/jmalcloud:2.2.35
    restart: always
    ports:
      - 9070:80
      - 9071:8080
      - 9072:8088
      - 27017:27017
    volumes:
      - /data/jmalcloud/files/:/jmalcloud/files/
      - /data/jmalcloud/db/:/data/db/

5.3 创建JmalCloud 容器

使用docker-compose.yaml文件创建JmalCloud 容器

docker compose up -d

在这里插入图片描述

5.4 检查JmalCloud容器状态

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

[root@jeven jmalcloud]# docker compose ps
NAME                    COMMAND                  SERVICE             STATUS              PORTS
jmalcloud-jmalcloud-1   "/bin/sh -c '/usr/bi…"   jmalcloud           running             0.0.0.0:9070->80/tcp, 0.0.0.0:9071->8080/tcp, 0.0.0.0:9072->8088/tcp, 0.0.0.0:27017->27017/tcp, :::9070->80/tcp, :::9071->8080/tcp, :::9072->8088/tcp, :::27017->27017/tcp

5.5 检查JmalCloud容器日志

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

[root@jeven jmalcloud]# docker compose logs
jmalcloud-jmalcloud-1  | about to fork child process, waiting until server is ready for connections.
jmalcloud-jmalcloud-1  | forked process: 9
jmalcloud-jmalcloud-1  | child process started successfully, parent exiting
jmalcloud-jmalcloud-1  |
jmalcloud-jmalcloud-1  |   .   ____          _            __ _ _
jmalcloud-jmalcloud-1  |  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
jmalcloud-jmalcloud-1  | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
jmalcloud-jmalcloud-1  |  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
jmalcloud-jmalcloud-1  |   '  |____| .__|_| |_|_| |_\__, | / / / /
jmalcloud-jmalcloud-1  |  =========|_|==============|___/=/_/_/_/
jmalcloud-jmalcloud-1  |  :: Spring Boot ::                (v2.7.0)
jmalcloud-jmalcloud-1  |
[root@jeven jmalcloud]#

在这里插入图片描述

六、访问JmalCloud首页

6.1 进入JmalCloud登录页

访问地址:http://192.168.3.166:9070,将IP替换为自己服务器IP地址,进入到JmalCloud首页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。自定义注册账号,进入JmalCloud登录页。

在这里插入图片描述

6.2 访问JmalCloud首页

填写之前在docker-compose.yaml中自定义的密码,进入JmalCloud首页。

在这里插入图片描述

在这里插入图片描述

七、JmalCloud的基本使用

7.1 上传文件

点击上传文件选项,将本地文件上传到JmalCloud。

在这里插入图片描述

在这里插入图片描述

7.2 在线浏览文件

点击上传文件,在线浏览文件。

在这里插入图片描述

7.3 分享文件

鼠标右键点击文件,选择分享,将分享链接发送到其他电脑浏览器。

在这里插入图片描述

在这里插入图片描述

7.4 编辑文档

点击基本设置,进入JmalCloud后台管理页面。

在这里插入图片描述

在JmalCloud后台管理页面,网站设置——文档——写文章,进入文档编辑页面。

在这里插入图片描述

编辑文章内容,点击发表即可。

在这里插入图片描述

7.5 访问JmalCloud博客平台

访问地址:http://192.168.3.166:9071/,将IP替换为自己服务器IP地址,进入到JmalCloud博客平台,可以浏览刚才编辑发表的博文。

在这里插入图片描述

在这里插入图片描述

八、总结

JmalCloud个人网盘是一款功能强大且用户友好的网盘系统。它具有漂亮的界面,适合新手使用,并且非常容易部署。该系统支持编辑和预览多种文件格式,包括Word、Excel、PPT、流程图和思维导图等,在学习和工作中非常实用。此外,JmalCloud还提供了一个内置的博客系统,方便用户整理和管理技术文档,构建个人的技术知识库。对于需要免费的NAS系统的用户来说,JmalCloud是一个值得尝试的选择。

相关文章
|
5天前
|
应用服务中间件 网络安全 nginx
快速上手!使用Docker和Nginx部署Web服务的完美指南
快速上手!使用Docker和Nginx部署Web服务的完美指南
|
1天前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用合集之关于在Docker环境中部署和维护PolarDB-X,有相关文章可以参考吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
2天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用之在阿里云函数计算中使用Docker进行部署函数如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
6 0
|
4天前
|
数据库 Nacos Docker
基于docker-compose部署微服务基本环境
基于docker-compose部署微服务基本环境
7 0
|
5天前
|
消息中间件 Kafka Docker
docker部署kafka
docker部署kafka
26 1
|
5天前
|
算法 Nacos Docker
docker部署nacos集群
docker部署nacos集群
14 0
|
5天前
|
消息中间件 Kafka Docker
【消息中心】docker部署kafka
【消息中心】docker部署kafka
16 0
|
5天前
|
Java 应用服务中间件 Docker
【Docker】部署启动java项目
【Docker】部署启动java项目
13 2
|
5天前
|
NoSQL 网络安全 Redis
【docker】部署的redis突然连接不上了
【docker】部署的redis突然连接不上了
13 1
|
5天前
|
Shell Docker 容器
docker部署xxl_job
docker部署xxl_job
9 1