⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 juejin.cn/post/7438638095946055716 「一只叫煤球的猫」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

在容器化技术蓬勃发展的今天,Docker已经成为开发者不可或缺的工具。

除了那些耳熟能详的官方镜像,Docker Hub上还隐藏着许多有趣而实用的镜像,它们可能会让你的开发工作事半功倍,甚至会为你的日常工作带来意想不到的便利。

本文精心挑选了一些有趣的Docker镜像,无论你是新手还是老手,总有用得到的。

耐心看完,你一定有所收获。

注意

  • 本文中提供了docker run命令和 docker-compose.yml 配置
  • 部分镜像需要映射宿主机的目录,注意要手动创建
  • 所有镜像都只提供了最基础的启动配置,如果需要定制化,还得上hub、仓库或官网看参数

code-server:远程开发神器

让你在任何设备的浏览器中都能访问完整的VS Code开发环境,无需本地安装和配置。

当你需要在平板、笔记本或其他设备间切换时,所有的代码、插件和设置都保持同步,彻底解决了”换台电脑又要重新配环境”的痛点。

特点:

  • 云端IDE: 无需本地安装VS Code,直接在浏览器中使用。
  • 多设备同步: 无论你在哪里,都能继续你的工作。

推荐理由:

  • 远程开发: 特别适合远程办公或出差时使用。
  • 学习编程: 学生或初学者可以在任何设备上轻松开始编程。

特殊的用法:

我最近发现,直接给code-server映射宿主机的工作路径,把他作为一个强大的文件资源管理器,也相当实用,特别是经常去编辑宿主机上各种配置文件的场景。

安装命令:

docker run -d \
--name code-server \
-p 8080:8080 \
-v "$HOME/.config:/home/coder/.config" \
-v "$PWD:/home/coder/project" \
codercom/code-server:latest

docker-compose.yml:

version: "3"
services:
code-server:
image:codercom/code-server:latest
ports:
-"8080:8080"
volumes:
-~/.config:/home/coder/.config
-.:/home/coder/project
environment:
-PASSWORD=yourpassword

CloudBeaver:数据库管理

CloudBeaver 是一个基于Web的数据库管理工具,它让你可以在浏览器中轻松管理各种数据库。

特点:

  • 多数据库支持: 支持MySQL、PostgreSQL、SQLite等多种数据库。
  • Web界面: 界面清爽,用起来顺手。

推荐理由:

  • 以前一直在用PhpMyAdmin,但是操作上属实难绷,CloudBeaver可谓是做了极大的提升
  • 不仅支持各种快捷键,还有SQL面板,甚至有智能提示(虽然相对客户端没那么智能)

安装命令:

docker run -d \
--name cloudbeaver \
-p 8978:8978 \
dbeaver/cloudbeaver:latest

docker-compose.yml:

version: "3"
services:
cloudbeaver:
image: dbeaver/cloudbeaver:latest
ports:
- "8978:8978"
volumes:
- ./workspace:/opt/cloudbeaver/workspace

青龙面板:自动化任务

青龙面板 是一个用于自动化任务管理的工具,对于喜欢自动化和脚本管理的朋友,青龙面板 是一个不可多得的工具。

它可以帮助你管理和运行各种脚本任务,支持定时执行,让自动化操作变得简单方便。

特点:

  • 任务调度: 支持定时任务、脚本执行等。
  • Web界面: 简单直观。

推荐理由:

  • 自动化: 适合需要定时执行任务的用户,如爬虫、数据备份等。
  • 脚本: 个人用户可以用它来管理日常任务,如定时签到、自动回复等。

安装命令:

docker run -d \
--name qinglong \
-p 5700:5700 \
-v $PWD/ql:/ql/data \
whyour/qinglong:latest

docker-compose.yml:

version: "3"
services:
qinglong:
image: whyour/qinglong:latest
ports:
- "5700:5700"
volumes:
- ./ql:/ql/data

PocketBase:轻量级Serverless服务

一个轻量级的Serverless服务,支持数据存储、文件存储、用户授权体系、日志监控等,适合快速开发小型应用。

特点:

  • 轻量级: 占用资源少,启动快。
  • 集成API: 自带API,方便前后端分离开发。

推荐理由:

  • 快速开发: 适合个人开发者或小团队快速搭建后端服务。
  • 原型设计: 在开发初期,可以用它快速验证想法。

安装命令:

docker run -d \
--name pocketbase \
-p 8090:8090 \
-v $PWD/pb_data:/pb_data \
ghcr.io/muchobien/pocketbase:latest

docker-compose.yml:

version: "3"
services:
pocketbase:
image: ghcr.io/muchobien/pocketbase:latest
ports:
- "8090:8090"
volumes:
- ./pb_data:/pb_data

Homer:个人主页

Homer 是一个简单而强大的个人主页生成器,适合用来展示你的各种服务和链接。

特点:

  • 自定义主页: 可以添加各种链接和服务入口。
  • 美观简洁: 界面简洁美观,易于使用。

推荐理由:

  • 个人主页: 如果你想做一个个人主页,那绝对是极佳的选择。
  • 家庭网络: 也可以用它来管理家中的各种设备和服务,如果能支持webhook调用的话。

安装命令:

docker run -d \
--name homer \
-p 8080:8080 \
-v ${PWD}/assets:/www/assets \
b4bz/homer:latest

docker-compose.yml:

version: "3"
services:
homer:
image: b4bz/homer:latest
ports:
- "8080:8080"
volumes:
- ./assets:/www/assets

Uptime-Kuma:服务监控

Uptime-Kuma 是一个开源的服务监控工具,可以实时监控你的网站和服务状态。

特点:

  • 实时监控: 可以实时监控网站和服务的状态。
  • 通知功能: 支持多种通知方式,如邮件、Telegram等。

推荐理由:

  • 长的好看,配置又简单
  • 适合个人或小团队监控自己的服务状态。

安装命令:

docker run -d \
--name uptime-kuma \
-p 3001:3001 \
-v uptime-kuma:/app/data \
louislam/uptime-kuma:1

docker-compose.yml:

version: "3"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
ports:
- "3001:3001"
volumes:
- uptime-kuma:/app/data
restart: always

Memos:个人笔记

Memos 是一个轻量级的个人笔记工具,适合用来记录日常的想法和灵感。

特点:

  • 轻量级: 占用资源少,启动快。
  • 简单易用: 界面简洁,操作简单。

推荐理由:

  • 个人笔记: 适合个人用户记录日常的想法和灵感。
  • 灵感记录: 适合创作者用来记录灵感,随时随地记录。

安装命令:

docker run -d \
--name memos \
-p 5230:5230 \
-v ~/.memos/:/var/opt/memos \
neosmemo/memos:latest

docker-compose.yml:

version: "3"
services:
memos:
image: neosmemo/memos:latest
ports:
- "5230:5230"
volumes:
- ~/.memos/:/var/opt/memos

Umami:网站统计

Umami 是一个开源的网站统计工具,可以用来分析网站的访问数据。

特点:

  • 开源: 完全开源,可以自由定制。
  • 隐私友好: 不收集个人数据,保护用户隐私。

推荐理由:

  • 网站统计: 适合个人博客、小型网站的访问数据分析。
  • 隐私保护: 特别适合注重隐私的用户使用。

安装命令:

docker run -d \
--name umami \
-p 3000:3000 \
ghcr.io/umami-software/umami:postgresql-latest

docker-compose.yml:

version: "3"
services:
umami:
image:ghcr.io/umami-software/umami:postgresql-latest
ports:
-"3000:3000"
environment:
DATABASE_URL:postgresql://umami:umami@db:5432/umami
depends_on:
-db

Flame:个人导航

又一个个人导航页,但是风格完全不同,如果喜欢极简风格不妨一试。

特点:

  • 自定义导航: 可以添加各种网站和书签。
  • 美观简洁: 界面简洁美观,易于使用。

推荐理由:

  • 个人导航: 适合个人用户管理常用网站和书签。
  • 工作效率: 可以提高工作效率,快速访问常用网站。

安装命令:

docker run -d \
--name flame \
-p 5005:5005 \
-v flame:/app/data \
pawelmalak/flame

docker-compose.yml:

version: "3"
services:
flame:
image:pawelmalak/flame
ports:
-"5005:5005"
volumes:
-flame:/app/data
environment:
-PASSWORD=password

Filebrowser:在线文件管理器

一个轻量级的文件管理器。

特别适合那些需要远程访问和管理文件但又不想安装复杂软件的用户。

它支持文件的上传、下载、编辑以及权限管理,更适用于个人或小团队。

特点:

  • 简单易用: 界面简洁,操作直观,即使是新手也能快速上手。
  • 权限管理: 支持用户和权限管理,可以为不同的用户设置不同的访问权限。
  • 文件上传下载: 支持文件的上传、下载、删除、重命名等操作。
  • 自定义配置: 可以通过配置文件自定义界面和功能。

推荐理由:

  • 远程文件管理: 无论你身在何处,只要有网络,就可以通过浏览器管理服务器上的文件。
  • 共享文件: 可以轻松地与他人共享文件,设置不同的访问权限。
  • 开发环境: 开发者可以在开发环境中使用它来管理项目文件。

安装命令:

docker run -d \
--name filebrowser \
-v $PWD/filebrowser:/srv \
-p 80:80 \
filebrowser/filebrowser

docker-compose.yml:

version: "3.8"
services:
filebrowser:
image:filebrowser/filebrowser:latest
container_name:filebrowser
restart:unless-stopped
ports:
-"80:80"
volumes:
-$PWD/filebrowser:/srv# 设置你的文件目录
-$PWD/filebrowser.db:/database# 设置你的数据库目录

dockge:管理Docker

docker-compose.yaml`管理器,一切基于`docker-compose.yaml

特点:

  • 管理你的compose.yaml文件

    • 一站式搞定:新建、修改、启动、停止、重启、删除,就是这么简单
    • 一键更新Docker镜像
  • 可视化编辑器

    • 再也不用手敲compose.yaml了,所见即所得的编辑界面
  • 网页版终端

    • 直接在浏览器里敲命令,不用再开终端窗口
  • 多服务器支持 (1.4.0新功能)

    • 一个界面管理多台服务器上的Docker,再也不用来回切换了
  • 一键转换命令

    • 把复杂的docker run命令自动转成compose.yaml,省去手动配置的麻烦
  • 文件原生存储

    • 不会把你的配置文件锁在系统里,所有文件都在硬盘上,该用命令行还能用命令行
  • 实时响应

    • 所有操作都是即时反馈的
    • 镜像拉取、启动、关闭的进度和终端输出都是实时显示
  • 简单好用的界面

    • 如果你喜欢Uptime Kuma的界面设计,这个你也一定会喜欢
    • 界面美观,操作直观

安装命令:

# 运行命令
docker run -d \
--name dockge \
-p 5001:5001 \
-v /var/run/docker.sock:/var/run/docker.sock \
amir20/dockge

docker-compose.yml:

version: "3"
services:
dockge:
image: amir20/dockge
ports:
- "5001:5001"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
文章目录
  1. 1. 注意
  • code-server:远程开发神器
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 特殊的用法:
    4. 4. 安装命令:
  • CloudBeaver:数据库管理
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 安装命令:
    4. 4. 青龙面板:自动化任务
    5. 5. 特点:
    6. 6. 推荐理由:
    7. 7. 安装命令:
  • PocketBase:轻量级Serverless服务
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 安装命令:
  • Homer:个人主页
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 安装命令:
  • Uptime-Kuma:服务监控
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 安装命令:
  • Memos:个人笔记
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 安装命令:
  • Umami:网站统计
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 安装命令:
  • Flame:个人导航
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 安装命令:
  • Filebrowser:在线文件管理器
    1. 1. 特点:
    2. 2. 推荐理由:
    3. 3. 安装命令:
  • dockge:管理Docker
    1. 1. 特点:
    2. 2. 安装命令: