如何更加优雅的使用Docker

在使用docker过程中,我们经常发现管理维护是一个很复杂过程,因为我们在使用docker commands的过程中,我们只会去使用我们认为简单并且熟悉的命令,然而docker本身其实是提供给我们很多便捷且人性化的工具的,如果掌握这些使用技巧,也许你的维护管理工作将会事半功倍,并且给人看起来会很牛逼的样子。

Dockerfile最佳实践

在生产环境中一般我们会对基本的环境进行自构建,从而利用images的分层特性去层层构建上层的业务镜像。

1.默认情况下我们会首先构建一个基本的base镜像,这个镜像可能包含了linux具体的发行版本,以及基本的软件包,比如wget,vi等。在该层面上,镜像的改动会很少,频次也会很低。

2.其次我们可以在base镜像之上构建新的平台镜像,比如说ssh,java,tomcat等。在基础环境层,相比较上一层来说修改频次稍微会有点大,因为可能涉及到基本软件的版本调整或者参数调整。

3.然后在可以在基本的平台镜像之上构建业务镜像,业务镜像是可以直接启动应用程序的,也就是需要启动服务进程的。该层镜像就是直接和业务代码融合的镜像,随着业务的更新,镜像也会频繁的改动上线。

Overlayfs技术探究以及Docker环境中的使用

overlayfs 基本概念

一种联合文件系统,设计简单,速度更快。overlayfs在linux主机上只有两层,一个目录在下层,用来保存镜像(docker),另外一个目录在上层,用来存储容器信息。在overlayfs中,底层的目录叫做lowerdir,顶层的目录称之为upperdir,对外提供统一的文件系统为merged。 当需要修改一个文件时,使用CoW将文件从只读的Lower复制到可写的Upper进行修改,结果也保存在Upper层。在Docker中,底下的只读层就是image,可写层就是Container。

基于PCIe体系结构的处理器结构组成

PCIe体系结构的组成部件

PCIe总线作为处理器系统的局部总线,其作用与PCI总线类似,主要目的是为了连接处理器系统中的外部设备,当然PCIe总线也可以连接其他处理器系统。 在大多数处理器系统中,都使用了RC、Switch和PCIe-to-PCI桥这些基本模块连接PCIe和PCI设备。在PCIe总线中,基于PCIe总线的设备,也被称为EP(Endpoint)。

容器生态技术

2017年可谓是容器云领域发展最火的一年,同时也是Kubernetes崛起的一年,那么随着容器行业的大发展,基于以Docker和Kubernetes为核心的容器生态系统也慢慢在将自己的软件体系进行解耦拆分,以实现核心功能的最优化实现。很明显的一点就是Docker在不断的拆分自己的项目,不再试图将所有容器相关技术都囊括在自己碗里,而Kubernetes则一直保持开放的态度,对接不同的第三方生态体系,也使得K8S在整个容器界内获得了良好的口碑。那么想要从事容器相关领域的技术研究或者工作,个人建议也可以将整个容器生态技术拆分,对某个要点进行深入探索,这样能够让自己更加了解容器的生态技术,也更容易在容器云生态中贡献自己的力量。

玩转Docker运维管理

在使用docker过程中,我们经常发现管理维护是一个很复杂过程,因为我们在使用docker commands的过程中,我们只会去使用我们认为简单并且熟悉的命令,然而docker本身其实是提供给我们很多便捷且人性化的工具的,如果掌握这些使用技巧,也许你的维护管理工作将会事半功倍,并且给人看起来会很牛逼的样子。

GPU环境下玩转Docker(三)

前言: 在前面两个章节中已经介绍了如何构建GPU的基础环境以及使用Docker方式来优雅的运行GPU应用,单纯的使用Docker这种方式是无法满足大规模的应用调度和管理的,对于集群调度以及容器化管理方面,我们也采用了业界比较知名的容器编排调度管理工具Kubernetes,本篇文章简单介绍GPU业务容器在Kubernetes上的运行。

如何优雅的管理你的GPU

使用nvidia-smi管理你的GPU卡

nvidia-smi命令是NVIDIA系统管理接口,之前提到使用nvidia-docker实际上底层也是调用的该接口。该接口可以查看到当前主机上的相关GPU设备,任务以及当前状态等信息,熟练使用该接口能够更好的管理好GPU系统资源。