独角兽企业重金招聘Python工程师标准>>>
上一篇文章/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这个本地镜像上传到阿里云的容器镜像仓库,这样就方便以后的实机部署。
本地环境还是Ubuntu14-64bit没有变,其实就是上一篇文章的继续,电脑我都没关。。。
1.首先在本地部署前端的镜像,
在这个文件里,找到oj-backend,直接pull这里的image
docker pull -/onlinejudge/oj_backend
让这个镜像UP启动程容器即可,来到下一步:
2.回到之前你在本地修改完的代码根目录:
这时候构建webpack 的相关文件,开发与生产环境是不一样的。
NODE_ENV=production npm run build:dll
npm run build
用上边的命令构建项目,可能需要一点时间。
3.把更改的东西注入到正在运行的那个容器里面:
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=你的用户名 -#[ImageId]是你刚才创建的镜像ID,可以docker images查一下,顺便能查到镜像版本号TAGsudo 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?看这里:/finchxu/blog/1927273
大功告成!
参考文档:
万分感谢这些大触和前辈!
https://usermanual.wiki/Document/Instructions.1857041035.pdf
/lin1/p/5982969.html
/develop/develop-images/baseimages/#create-a-simple-parent-image-using-scratch
/p/5b46736a57e0