上一篇文章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