前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TKE标准化 - 通过Dockerfile制作标准化Docker基础镜像和业务镜像(一)

TKE标准化 - 通过Dockerfile制作标准化Docker基础镜像和业务镜像(一)

原创
作者头像
亮哥说TKE
修改2019-08-01 17:57:09
1.5K0
修改2019-08-01 17:57:09
举报
文章被收录于专栏:TKETKE

容器部署是基于Docker业务镜像

Gitlab Dockerfile文件会引用腾讯云镜像仓库中的Docker基础镜像,将源代码添加至Docker基础镜像中,打包成Docker业务镜像。部署是基于Docker业务镜像。

容器云平台Docker镜像

1.Docker基础镜像:提供基础应用型的Docker软件服务(例如:nginx,php,jdk等),所以dockerhub镜像公有镜像自定义私有镜像都可以理解为基础镜像。

2.Docker业务镜像:将Gitlab上的源代码,或通过maven打出来的jar或tar包,添加至基础镜像中,构建打包成的Docker镜像。

通过Dockerfile制作标准化镜像

1.基础镜像Dockerfile

2.业务镜像Dockerfile

3.Dockerfile编写规范总结

1.基础镜像Dockerfile

基础镜像Dockerfile
基础镜像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点。

至此,基础镜像制作完成。

2.业务镜像Dockerfile

业务镜像Dockerfile
业务镜像Dockerfile

第1行: FROM引用腾讯云基础镜像ccr.ccs.tencentyun.com/liangfeng/fengliang:nginx

第2行: 通过MAINTAINER 说明作者和作者邮箱地址;

第3~4行:代码部署,由客户自行进行业务逻辑控制,3行功能是创建目录,4行是将当前目录下的文件添加至基础镜像

第5行:EXPOSE声明服务端口。(容器内的服务端口,这里是nginx的启动端口)

第6行:通过ENTRYPOINT设置业务镜像,开机自启动nginx服务。

Dockerfile是在gitlab上,通过腾讯容器云平台构建打包,生成业务镜像。

3.Dockerfile编写规范总结

使用 Dockerfile 来构建镜像有以下建议:

  1. 尽量精简,不安装多余的软件包。
  2. 尽量选择 Docker 官方提供镜像作为基础版本,减少镜像体积。(例如:FROM内容固定)
  3. Dockerfile 开头几行的指令应当固定下来,不建议频繁更改,有效利用缓存。(例如:FROM和MAINTAINER内容固定)
  4. 多条 RUN 命令使用连接,有利于理解且方便维护。
  5. 业务镜像通过EXPOSE声明服务端口。
  6. 基础镜像通过 -t 标记构建镜像,有利于管理新创建的镜像。
  7. 基础镜像不在 Dockerfile 中映射公有端口。
  8. 基础镜像Push 前先在本地运行,确保构建的镜像无误。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 容器部署是基于Docker业务镜像
  • 容器云平台Docker镜像
  • 通过Dockerfile制作标准化镜像
  • 1.基础镜像Dockerfile
  • 2.业务镜像Dockerfile
  • 3.Dockerfile编写规范总结
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档