Gitlab Dockerfile文件会引用腾讯云镜像仓库中的Docker基础镜像,将源代码添加至Docker基础镜像中,打包成Docker业务镜像。部署是基于Docker业务镜像。
1.Docker基础镜像:提供基础应用型的Docker软件服务(例如:nginx,php,jdk等),所以dockerhub镜像,公有镜像,自定义私有镜像都可以理解为基础镜像。
2.Docker业务镜像:将Gitlab上的源代码,或通过maven打出来的jar或tar包,添加至基础镜像中,构建打包成的Docker镜像。
1.基础镜像Dockerfile
2.业务镜像Dockerfile
3.Dockerfile编写规范总结
第1行: FROM引用hub基础镜像centos:7.5.1804;
第2行: 通过MAINTAINER 说明作者和作者邮箱地址;
第3行: 将本地的nginx.tar.gz包添加至/usr/local/services目录;(tar.gz会自动解压,根据自身需求定制)
第4行:创建nginx日志目录;
第5~6行:安装常用软件或依赖软件。
第7行:每次我们安装完软件,一定要执行yum clean all,这样可以清除yum缓存,减少镜像体积。
第8~9行:设置nginx家目录环境变量。
将以上内容保存为Dockerfile文件,最后执行docker build -t test:v1 .,生成本地镜像,然后打上远程腾讯云镜像仓库tag标签,推送至腾讯云镜像仓库即可。可参考《commit方式自定义Docker基础镜像,并push至腾讯云镜像仓库》的第5点。
至此,基础镜像制作完成。
第1行: FROM引用腾讯云基础镜像ccr.ccs.tencentyun.com/liangfeng/fengliang:nginx;
第2行: 通过MAINTAINER 说明作者和作者邮箱地址;
第3~4行:代码部署,由客户自行进行业务逻辑控制,3行功能是创建目录,4行是将当前目录下的文件添加至基础镜像;
第5行:EXPOSE声明服务端口。(容器内的服务端口,这里是nginx的启动端口)
第6行:通过ENTRYPOINT设置业务镜像,开机自启动nginx服务。
Dockerfile是在gitlab上,通过腾讯容器云平台构建打包,生成业务镜像。
使用 Dockerfile 来构建镜像有以下建议:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。