qduoj~前端~二次開發~打包docker鏡像並上傳到阿里雲容器鏡像倉庫

上一篇文章https://my.oschina.net/finchxu/blog/1930017記錄了怎麼在本地修改前端,如今我要把個人修改添加到部署到本地的前端的docker容器中,而後打包這個容器成爲一個本地鏡像,而後把這個本地鏡像上傳到阿里雲的容器鏡像倉庫,這樣就方便之後的實機部署。html

本地環境仍是Ubuntu14-64bit沒有變,其實就是上一篇文章的繼續,電腦我都沒關。。。前端

1.首先在本地部署前端的鏡像,webpack

在這個文件裏,找到oj-backend,直接pull這裏的imageweb

docker pull registry.cn-hangzhou.aliyuncs.com/onlinejudge/oj_backend

讓這個鏡像UP啓動程容器便可,來到下一步:docker

2.回到以前你在本地修改完的代碼根目錄:npm

這時候構建webpack 的相關文件,開發與生產環境是不同的。bash

NODE_ENV=production npm run build:dll
npm run build

用上邊的命令構建項目,可能須要一點時間。app

3.把更改的東西注入到正在運行的那個容器裏面:ui

docker cp ./dist 這裏輸入容器的ID:/app/

如何查看容器ID呢:阿里雲

docker ps -a

這裏能夠區分一下容器和鏡像,鏡像是靜態的就至關於光盤,是隻讀文件,而容器是經過鏡像啓動的,因此咱們要把修改好的前端項目注入到正在運行的容器裏面。

4.而後把容器打包創建成本地鏡像

docker commit -m "提示信息" -a "做者" 容器ID 鏡像名稱
docker images

這樣就能夠看到你製做的本地鏡像了。

5.如今能夠開始pull到阿里雲的容器鏡像倉庫

去阿里雲那裏申請一個倉庫,免費的,把倉庫名稱寫成oj-backend便可。建立成功他會給你一個頁面提示你如何上傳,很詳細。

sudo docker login --username=你的用戶名 registry.cn-beijing.aliyuncs.com
#[ImageId]是你剛纔建立的鏡像ID,能夠docker images查一下,順便能查到鏡像版本號TAG
sudo docker tag [ImageId] registry.這裏用阿里雲給你提供的便可/oj-backend:[鏡像版本號]
sudo docker push registry.這裏用阿里雲給你提供的便可/oj-backend:[鏡像版本號]

TAG就是上邊須要寫的版本號,還有IMAGE ID就是鏡像ID。

而後就會開始push完畢就成功上傳了。

6.這時候去你fork的qduoj官方安裝文件裏,把oj-backend的image改爲你的阿里雲提供的公網或者私有地址,而後進行總體的部署就可使用OJ了,怎麼部署總體OJ?看這裏:https://my.oschina.net/finchxu/blog/1927273

大功告成!

 

參考文檔:

萬分感謝這些大觸和前輩!

https://usermanual.wiki/Document/Instructions.1857041035.pdf

https://www.cnblogs.com/lin1/p/5982969.html

https://docs.docker.com/develop/develop-images/baseimages/#create-a-simple-parent-image-using-scratch

https://www.jianshu.com/p/5b46736a57e0

相關文章
相關標籤/搜索