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

摘要: 原创出处 极客之家 「丛林」欢迎转载,保留摘要,谢谢!


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

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

你是否也曾被复杂的Dockerfile和层层叠叠的构建命令劝退?是否想过将手头的小应用、小工具快速容器化部署到NAS或服务器上,却被技术门槛绊住了脚步?

今天,我要为大家详细介绍一个让我眼前一亮的开源项目——App2Docker。这是一个旨在“一键将应用打包成Docker镜像的可视化平台”,堪称“手残党”与“NAS折腾党”的福音。

简介

简单来说,App2Docker是一个通过Web界面操作的Docker镜像构建平台。它的核心理念是降低容器化技术的使用门槛。你不需要理解Dockerfile中每一行指令的含义,也无需记忆繁琐的docker build命令参数。无论是Java的JAR包、Node.js项目、Python脚本、Go语言应用,还是简单的静态网站,都可以通过这个平台点点鼠标,完成从源代码到可运行镜像的转变。

核心功能

App2Docker的功能设计相当全面,远不止“一键打包”这么简单,它提供了一套完整的镜像构建与管理流水线。

1. 可视化镜像构建

这是其最核心的吸引力。构建流程被设计成清晰的步骤:

  • 数据源选择:支持直接上传文件(如JAR包、代码zip),也支持从Git仓库(GitHub、GitLab、Gitee)直接拉取代码。
  • 项目类型适配:平台内置了对主流开发语言和项目的模板支持,自动识别并应用合适的构建环境。
  • 多服务构建:如果一个项目中包含多个服务组件,可以分别进行选择和配置。
  • 实时日志:构建过程的所有日志都会在Web界面中实时显示,每一步都清晰可见,构建失败也能快速定位问题。

2. 自动化流水线(CI/CD)

对于需要持续集成的项目,这个功能堪称“生产力倍增器”。你可以为Git仓库配置Webhook,实现代码推送即触发自动构建。它支持灵活的分支策略和标签映射规则(例如,推送到master分支自动构建并打上latest标签,推送到dev分支则打上dev标签),还支持通过Cron表达式设置定时构建。这相当于为你个人的小项目配备了一个轻量级、可视化的GitLab CI/CD。

3. 便捷的镜像导出与管理

  • 镜像导出:可以将构建好的镜像导出为文件,方便迁移或离线部署,支持单镜像和Docker Compose批量导出。
  • 任务中心:所有构建和导出任务都有统一的管理界面,可以查看历史记录、状态和详细日志。
  • 仓库集成:可以预先配置多个Docker镜像仓库(如Docker Hub、阿里云容器镜像服务等),并设置构建完成后自动推送。

部署使用

让这个“神器”运行起来非常简单,它本身就是一个Docker应用。

方法一:命令行一键部署(推荐)

只需一条命令,即可启动App2Docker服务:

docker run -d \
--name app2docker \
-p 8000:8000 \
-v $(pwd)/data:/app/data \
-v /var/run/docker.sock:/var/run/docker.sock \
registry.cn-shanghai.aliyuncs.com/51jbm/app2docker:latest

关键点解释:

  • -v $(pwd)/data:/app/data:必须配置! 它将主机目录映射到容器内,用于持久化保存所有配置、模板和上传的文件。没有它,重启容器后所有数据都会丢失。
  • -v /var/run/docker.sock:/var/run/docker.sock:授予容器操作宿主机Docker守护进程的权限,这是它能构建镜像的关键。 执行后,访问 http://你的服务器IP:8000,使用默认账号 admin/admin 登录。

方法二:使用Docker Compose管理

对于习惯使用Compose的用户,可以创建docker-compose.yml文件,实现更规范的服务管理。

界面展示

镜像构建

仪表盘

流水线管理

编辑流水线

开源地址

https://gitee.com/numen06/app2docker

文章目录
  1. 1. 简介
  2. 2. 核心功能
    1. 2.1. 1. 可视化镜像构建
    2. 2.2. 2. 自动化流水线(CI/CD)
    3. 2.3. 3. 便捷的镜像导出与管理
  3. 3. 部署使用
  4. 4. 界面展示
  5. 5. 开源地址