不会Docker?App2Docker:可视化操作,让应用秒变镜像!

NAS、键盘、路由器······年轻就要多折腾,我是爱折腾的熊猫—多面手博主!咱主打的就是一个 “技能不压身,干货不掺水”

引言

从三四年前写NAS到现在,熊猫这里统计的Docker应用已经来到了500+的数量,而且这个数量还在持续上升。但市面上打包好的Docker镜像就这么多,大家都在写,而熊猫基本是不写别人写过或者热门的镜像的,主要挑小众需求或者新项目来写,随着写的越来越多,这部分应用的更新速度已经跟不上熊猫更新的速度了。

为了解决这一问题,相信你们也能发现,如今熊猫发的大部分项目,基本都是不自带Docker镜像的,基本都是自己构建来写教程,甚至自己开发了两三个项目用来作为素材,自产自销了属于是。

前两天熊猫发现这么一个项目,可以自动化将Java(JAR)、Node.js、Python、Go、静态网站等多种应用类型一键打包成镜像,同时还能自动推送到镜像仓库,这不比自己手动构建舒服?于是就这着手研究了一下。

项目介绍

项目的原作者熊猫没找到最终来源,也是偶然刷到的项目,感兴趣可以去gihub直接搜App2Docker。

项目的功能非常多,首页的仪表盘能看到整体的信息,例如任务数、流水线、镜像源、资源包以及主机等等,最下方还能看到系统信息。

项目的各个功能界面熊猫就不多介绍了,可以后续自行部署探索,主要针对它的功能来说说。

在镜像构建这里,我们可以选择上传代码压缩文件或者git数据源地址来进行。

点击下一步之后可以根据项目类型来选择Dockerfile模版,这里提供了Java、Node.js、Python、Go以及web静态网站五种,选择对应的类型和模板库之后就可以点击下一步。

再往下就是镜像名称、标签的设置,同时项目也支持构建之后同步到仓库,但这里需要先登录仓库,实测是支持github镜像库的。

资源包这里主要是涉及到部分项目会有.env配置文件等情况,如果项目不需要那么可以不设置。

确定好所有之后就能看到项目根据这些模版会自动进行Dockerfile的构建,这个过程在任务日志中也可以看到。

除了镜像可实现自动构建,该项目也支持流水线工作,例如你可以关联对应的github项目,随后根据项目设置镜像构建,最后将这个构建过程设置为自动流水线,那么当项目更新之后,程序会自动重新构建并推送镜像。

最后因为项目是关联了Docker守护进程的,所以它也是支持Docker管理的,不过管理并不那么细致罢了,同时该项目也支持直接用Compose部署项目,也支持将已经有的项目导出为Compose文件,作为备份来用也非常不错。

项目部署

最后则是项目的部署了,项目的镜像被放在了阿里云镜像库,所以拉取镜像需要带上阿里云的镜像地址registry.cn-shanghai.aliyuncs.com,镜像地址全名就应该是:registry.cn-shanghai.aliyuncs.com/51jbm/app2docker:latest。

因为需要用到Docker守护进程,所以我们需要映射主机的docker.sock,同时项目也提供了配置文件的映射路径,这里熊猫编辑好了Compose供大家使用,根据自己的NAS情况更改其中内容即可。

version: '3.8'
  
services:
  app2docker:
    image: registry.cn-shanghai.aliyuncs.com/51jbm/app2docker:latest
    container_name: app2docker
    ports:
      - "8000:8000"
    volumes:
      - ./data:/app/data
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always

最后成功启动之后可通过8000端口访问项目,默认的初始用户名和密码均为admin,首次登录会要求更改密码。

写在最后

非常使用的项目,如果你有想要构建的项目,但作者并没有提供构建的Dockerfile文件,那么可以通过它来进行构建,但构建请注意查看你的应用类型,根据类型去选择对应的构建模版,同时这也不是完全100%成功的,有时候你也需要根据项目去改修默认的模版,还是需要一定的代码能力,但这已经提供了非常不错的自动化流程了。

以上便是本次分享的全部内容了,如果你觉得还算有趣或者对你有所帮助,不妨点赞收藏,最后也希望能得到你的关注,咱们下期见!

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com