【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是一个值得尝试的选择。

相关文章
|
1天前
|
Linux 测试技术 开发者
【Docker项目实战】使用Docker部署instantbox临时Linux系统环境搭建工具
【6月更文挑战第13天】使用Docker部署instantbox临时Linux系统环境搭建工具
14 3
|
4天前
|
缓存 测试技术 Linux
【Docker项目实战】使用Docker部署Hasty Paste粘贴应用程序
【6月更文挑战第10天】使用Docker部署Hasty Paste粘贴应用程序
14 2
|
6天前
|
监控 JavaScript 测试技术
【Docker项目实战】使用Docker部署kener监控面板
【6月更文挑战第8天】使用Docker部署kener监控面板
24 10
|
7天前
|
NoSQL Ubuntu 关系型数据库
轻松上手 Docker:一键部署常用软件环境指南
轻松上手 Docker:一键部署常用软件环境指南
|
7天前
|
监控 Cloud Native 持续交付
实现容器集群轻松部署:Docker Swarm 集群管理解析
实现容器集群轻松部署:Docker Swarm 集群管理解析
|
7天前
|
网络安全 开发者 Docker
探索 Docker Machine:打造无缝多平台容器部署的利器
探索 Docker Machine:打造无缝多平台容器部署的利器
|
7天前
|
关系型数据库 持续交付 数据库
简化多容器应用部署:深入理解 Docker Compose
简化多容器应用部署:深入理解 Docker Compose
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
569 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 Linux Shell
阿里云一键部署 Docker Datacenter
使用阿里云ROS一键部署Docker Datacenter
12237 1
|
弹性计算 Shell Docker
阿里云一键部署 Docker Datacenter
使用ROS模板在阿里云上一键部署Docker Datacenter
7732 0