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

