【Docker项目实战】使用Docker部署Mikochi文件管理工具

简介: 【2月更文挑战第12天】使用Docker部署Mikochi文件管理工具

一、Mikochi介绍

Mikochi是一个远程文件浏览器,适用于自托管服务器和NAS。它提供了许多功能,包括浏览远程文件夹、上传、删除、重命名文件,以及将文件流式传输到VLC/mpv。Mikochi使用JavaScript和Preact创建了一个易于使用的Web界面,并通过Go和Gin构建了一个强大的API。这些功能被不断优化以提供更好的性能和用户体验。

二、本地环境介绍

2.1 本地环境规划

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

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

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Mikochi文件管理工具。

三、本地环境检查

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 Tue 2023-12-19 13:51:24 CST; 2 days ago
     Docs: https://docs.docker.com
 Main PID: 11579 (dockerd)
    Tasks: 48
   Memory: 902.0M
   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.19.1

四、下载Mikochi镜像

在docker hub下载Mikochi镜像,镜像版本为latest。如果cpu架构为arm/v7的设备,可以使用镜像标签为latest-armv7或者 1.3.1-armv7 。

[root@jeven ~]# docker pull zer0tonin/mikochi:latest
latest: Pulling from zer0tonin/mikochi
aece8493d397: Pull complete
b0068834b9c4: Pull complete
3baeb5baef9f: Pull complete
f1b3574193ea: Pull complete
Digest: sha256:42d9ac3db179bda9531023406c397a342feb02a50b44623e8a1f497abe5da946
Status: Downloaded newer image for zer0tonin/mikochi:latest
docker.io/zer0tonin/mikochi:latest

五、部署Mikochi工具

5.1 创建挂载目录

创建挂载目录/data/mikochi/data

mkdir -p /data/mikochi/data && cd /data/mikochi

5.2 docker-cli创建Mikochi容器

docker-cli创建mikochi容器,访问账号和密码可自定义设置。

docker run -d \
--restart always \
-p 8080:8080  \
-v /data/mikochi/data:/data \
-e DATA_DIR="/data"  \
-e USERNAME=admin \ 
-e PASSWORD=admin  \
 zer0tonin/mikochi:latest

环境变量解释:

  • HOST :ip:port 方式,例如0.0.0.0:80。

  • DATA_DIR: mikochi/DATA访问的目录

  • JWT_SECRET:用于JWT验证的秘密字符串[随机]

  • USERNAME:使用设置的用户名登录 mikochi

  • PASSWORD:使用设置的密码登录 mikochi

5.3 编辑docker-compose.yaml文件

编辑docker-compose.yaml部署文件,本次实践使用docker compose方式创建mikochi容器。

version: '3'

services:
  mikochi:
    image: zer0tonin/mikochi:latest
    restart: always
    ports:
      - 8080:8080
    volumes:
      - /data/mikochi/data:/data
    environment:
      - DATA_DIR=/data
      - USERNAME=admin
      - PASSWORD=admin

5.4 创建Mikochi容器

  • 使用docker compose创建mikochi容器
[root@jeven mikochi]# docker compose up -d
[+] Running 2/2
 ⠿ Network mikochi_default      Created                                                                                 0.1s
 ⠿ Container mikochi-mikochi-1  Started                                                                                 0.7s

5.5 检查Mikochi容器状态

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

[root@jeven mikochi]# docker compose ps
NAME                COMMAND             SERVICE             STATUS              PORTS
mikochi-mikochi-1   "./mikochi"         mikochi             running             0.0.0.0:8080->8080/tcp, :::8080->8080/tcp

5.6 检查Mikochi容器日志

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

[root@jeven mikochi]# docker compose logs
mikochi-mikochi-1  | 2023/12/21 09:29:56 Caching /data
mikochi-mikochi-1  | 2023/12/21 09:29:57 Refreshed cached
mikochi-mikochi-1  | 2023/12/21 09:29:57 Listening on 0.0.0.0:8080

六、Mikochi的基本使用

6.1 访问Mikochi首页

访问地址:http://192.168.3.166:8080/,将IP替换为自己服务器IP地址,进入Mikochi登录页。

在这里插入图片描述

输入设置的登录用户和密码admin/admin,进入Mikochi首页。

在这里插入图片描述

6.2 上传文件

点击Mikochi首页的右下角“+”号,选择上传选项。

在这里插入图片描述
在这里插入图片描述

将本地文件上传到Mikochi,点击“upload”开始上传。

在这里插入图片描述
在这里插入图片描述

6.3 分享文件

选择文件列表中,文件后面的复制链接选项,复制文件链接。

在这里插入图片描述

在局域网的其他设备浏览器打开该链接,则自动下载该文件。

在这里插入图片描述

6.4 上传视频文件

上传一个视频文件到Mikochi,复制文件链接。

在这里插入图片描述

将复制的文件链接在浏览器打开,可以正常播放视频。

在这里插入图片描述

七、总结

Mikochi作为一款开源文件浏览器,提供了丰富的文件管理功能,包括上传、删除、下载和分享等操作,满足用户对文件的基本需求。界面简洁清爽,操作简单易懂,响应速度快,操作流畅无卡顿,这点非常令人满意。后续也希望开发者能够进一步优化和改进,提供更多功能,使Mikochi成为一款优秀的文件管理工具。

相关文章
|
11天前
|
存储 测试技术 Linux
【Docker项目实战】使用Docker部署bender个人仪表板
【4月更文挑战第2天】使用Docker部署bender个人仪表板
23 1
|
1天前
|
测试技术 Linux 数据安全/隐私保护
【Docker项目实战】使用Docker部署Seatsurfing预订座位系统
【4月更文挑战第12天】使用Docker部署Seatsurfing预订座位系统
9 3
|
4天前
|
JavaScript 前端开发 Docker
全栈开发实战:结合Python、Vue和Docker进行部署
【4月更文挑战第10天】本文介绍了如何使用Python、Vue.js和Docker进行全栈开发和部署。Python搭配Flask创建后端API,Vue.js构建前端界面,Docker负责应用的容器化部署。通过编写Dockerfile,将Python应用构建成Docker镜像并运行,前端部分使用Vue CLI创建项目并与后端交互。最后,通过Nginx和另一个Dockerfile部署前端应用。这种组合提升了开发效率,保证了应用的可维护性和扩展性,适合不同规模的企业使用。
|
8天前
|
测试技术 Linux 数据安全/隐私保护
【Docker项目实战】使用Docker部署PicoShare共享文件平台
【4月更文挑战第5天】使用Docker部署PicoShare共享文件平台
43 4
|
Java 测试技术 Docker
让Docker日臻完善的8个优秀工具
一眨眼,你可能错过如今Docker领域最值得关注的动向之一。除了Docker本身的进步外,其他许多实用的项目都建立在Docker的基础上,或者得到Docker的支持。
1174 0
|
16天前
|
Docker 容器
进入Docker容器中
进入Docker容器中
32 2
|
1月前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。
|
1月前
|
Oracle 关系型数据库 数据库
|
5天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
10 0
|
13天前
|
Kubernetes 网络协议 Docker
Docker 容器的DNS
Docker 容器的DNS
21 1