专栏首页TKETKE操作指南 - 容器业务部署标准化总结(十六)
原创

TKE操作指南 - 容器业务部署标准化总结(十六)

容器业务标准化

1.容器日志标准化

2.Docker镜像标准化

3.dockerfile标准化

1.容器日志标准化

1.1 容器应用程序work目录规范

程序目录:

/usr/local/services

比如:

/usr/local/services/nginx

/usr/local/services/php

1.2 容器应用日志目录

日志目录:

/data

比如:

/data/logs/php

/data/logs/nginx

/data/logs/$module_name($module_name指应用名,一般为java应用)

1.3 容器日志命令规范(组件日志)

日志命名规范:

Php:php-fpm.log,php-fpm-slow.log,php-fpm-error.log

Nginx:${domain}_access.log,${domain}_error.log

Java:${应用名}_${date}.log,${应用名}_error_${date}.log

2.Docker镜像标准化

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

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

3.Dockerfile标准化

wordpress Dockerfile标准化案例:

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

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

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

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

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

说明:开头FROM和MAINTANER必须要指定;容器业务端口必须要用EXPOSE声明;开机自启动必须要用ENTYPOINT;由于Docker镜像是基于”层”,Dockerfile的内容越精简越好。\

Dockerfile标准化总结:

第1行和第2行:开头几行的指令应当固定下来(FROMMAINTAINER

第3行和第4行:代码部署,由客户自行进行业务逻辑控制(ADD,RUN等指令,多条RUN 命令使用连接,有利于理解且方便维护)

第5行:服务端口声明固定。(EXPOSE

第6行:服务开机自启动。(ENTRYPOINT

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

    亮哥说TKE
  • TKE操作指南 - 腾讯云Docker镜像仓库授权连接Gitlab(二)

    镜像仓库用于存放 Docker 镜像,Docker 镜像用于部署容器服务,每个镜像有特定的唯一标识(镜像的 Registry 地址+镜像名称+镜像 Tag)。

    亮哥说TKE
  • TKE操作指南 - 自动化构建,生成Wordpress Docker业务镜像(五)

    通过持续集成与持续交付提供优秀的 DevOps 环境,极大提高软件发布效率。如下图所示:

    亮哥说TKE
  • Docker 学习笔记--通过父镜像生成镜像

    一般情况下我们会通过已有镜像(父镜像)生成新的镜像,这个时候我们就需要使用到 FROM 命令。父镜像直接影响了生成新景象的大小和功能。我们可以把基础镜像或者普通...

    喵叔
  • docker 仓库里面python好多tag都代表什么意思?我们该如何选择

    今天让我同事帮忙构建一个基于python代码的docker包,然后他问我使用那个底层镜像,我说你直接去docker hub上找一个,他打开之后问我这么多我该使用...

    张琳兮
  • docker 仓库里面python好多tag都代表什么意思?我们该如何选择

    今天让我同事帮忙构建一个基于python代码的docker包,然后他问我使用那个底层镜像,我说你直接去docker hub上找一个,他打开之后问我这么多我该使用...

    张琳兮
  • Docker学习笔记--镜像

    镜像是Docker三大核心概念中最重要的一个,Dokcer运行容器钱需要本地存在对应的镜像,如果不存在对应的镜像,Doker 会先从默认的镜像仓库下载(如果用户...

    喵叔
  • docker 仓库里面python好多tag都代表什么意思?我们该如何选择

    今天让我同事帮忙构建一个基于python代码的docker包,然后他问我使用那个底层镜像,我说你直接去docker hub上找一个,他打开之后问我这么多我该使用...

    张琳兮
  • openshift-ImageStream

    ImageStream包含任意数量的由标签(tags)标识的Docker格式的容器镜像。它提供了关联镜像的单个虚拟视图,类似于镜像仓库,也许还包含以下镜像:

    用户1470379
  • 容器镜像之腾挪大法: Harbor镜像远程复制视频演示

    (本文发布时,Harbor在Github上已获得2875颗星:https://github.com/vmware/harbor)

    Henry Zhang

扫码关注云+社区

领取腾讯云代金券