1. docker部署最佳实践¶
1.1. 如何让你的镜像更小¶
选择合适的基础镜像,如果你需要jdk环境,建议直接选择openjdk作为基础镜像,而不是选择ubuntu镜像后按照openjdk在dockerfile中。
使用多级构建,多条相同命令合并为一条命令,减少构建层级。
如果多个镜像有大量相同的功能,可以考虑根据相同的功能创建一个基础镜像。
为了保持生产镜像的精简,你可以创建一个精简镜像,以精简镜像为基础镜像安装调试工具包。
构建镜像,总是使用tags进行编写描述信息。
1.2. 怎么让数据持久化¶
避免使用容器的存储,使用卷或者绑定挂载功能。
开发期间可以使用bind mount来挂载需要的挂载二进制文件到容器中,生产环境请使用卷。
对于生产,加密重要信息,使用configs配置非机密配置文件。
1.3. 尽可能使用swarm服务¶
1.4. 使用CI/CD去测试和部署¶
当您检查对源代码管理的更改或创建拉取请求时,请使用Docker Cloud或其他CI / CD管道自动构建和标记Docker镜像并对其进行测试。
1.5. 开发和生产采用不同环境¶
开发采用bind mounts ,生产采用卷。
开发不用关心时间同步信息,生产环境一个集群确保采用同一个ntp server。