【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成为一款优秀的文件管理工具。

相关文章
|
7天前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
57 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
8天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
8天前
|
Docker 微服务 容器
使用Docker Compose实现微服务架构的快速部署
使用Docker Compose实现微服务架构的快速部署
18 1
|
8天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
32 0
|
6天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
28 2
|
4天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
12天前
|
关系型数据库 MySQL API
|
8天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
5天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。