Dockerfile 最佳实践

Docker官方关于Dockerfile最佳实践原文链接地址:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Docker可以通过从Dockerfile包含所有命令的文本文件中读取指令自动构建镜像,以便构建给定镜像。

Dockerfiles使用特定的格式并使用一组特定的指令。您可以在 Dockerfile Reference 页面上了解基础知识 。如果你是新手写作Dockerfile,你应该从那里开始。

本文档介绍了由 Docker,Inc. 和 Docker 社区推荐的用于构建高效镜像的最佳实践和方法。要查看更多实践和建议,请查看 Dockerfile for buildpack-deps

[Read More]

Docker 的多阶段构建

Docker的口号是 Build,Ship,and Run Any App,Anywhere,在我们使用 Docker 的大部分时候,的确能感觉到其优越性,但是往往在我们 Build 一个应用的时候,是将我们的源代码也构建进去的,这对于类似于 golang 这样的编译型语言肯定是不行的,因为实际运行的时候我只需要把最终构建的二进制包给你就行,把源码也一起打包在镜像中,需要承担很多风险,即使是脚本语言,在构建的时候也可能需要使用到一些上线的工具,这样无疑也增大了我们的镜像体积。

[Read More]

Python 虚拟环境全知道

对于每个python项目依赖的库版本都有可能不一样,如果将依赖包都安装到公共环境的话显然是没法进行区分的,甚至是不同的项目使用的python版本都不尽相同,有的用python2.7,有的用python3.6,所以对于python项目的环境进行隔离管理就成为一个必然的需求了。

[Read More]

TDD开发容器化的Python微服务应用(一)

在这个课程中,你将学习如何使用Docker快速创建开发环境、管理多个微服务,应用程序在本地运行后,您将学习怎样在生产环境部署应用。我们也会练习TDD(测试驱动开发),在你的项目中测试先行,我们重点将放在服务端的单元测试、功能和集成测试以及端到端的测试上面,以确保整个系统按预期工作。

[Read More]

在kubernetes 集群上搭建docker 私有仓库Harbor

Harbor是一个用于存储和分发Docker 镜像的企业级Registry 服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor 支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

本文将介绍如何在kubernetes 集群上搭建一个高可用的Harbor 服务。

[Read More]

手动搭建高可用的kubernetes 集群

之前按照和我一步步部署 kubernetes 集群的步骤一步一步的成功的使用二进制的方式安装了kubernetes集群,在该文档的基础上重新部署了最新的v1.8.2版本,实现了kube-apiserver的高可用、traefik ingress 的部署、在kubernetes上安装docker的私有仓库harbor、容器化kubernetes部分组建、使用阿里云日志服务收集日志。

部署完成后,你将理解系统各组件的交互原理,进而能快速解决实际问题,所以本文档主要适合于那些有一定kubernetes基础,想通过一步步部署的方式来学习和了解系统配置、运行原理的人。

本系列系文档适用于 CentOS 7Ubuntu 16.04 及以上版本系统,由于启用了 TLS 双向认证、RBAC 授权等严格的安全机制,建议从头开始部署,否则可能会认证、授权等失败!

[Read More]