1.容器日志标准化
2.Docker镜像标准化
3.dockerfile标准化
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
使用 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行:开头几行的指令应当固定下来(FROM和MAINTAINER )
第3行和第4行:代码部署,由客户自行进行业务逻辑控制(ADD,RUN等指令,多条RUN 命令使用连接,有利于理解且方便维护)
第5行:服务端口声明固定。(EXPOSE)
第6行:服务开机自启动。(ENTRYPOINT)