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

相关文章
相关标签/搜索