分享页面
已经找到“” 的记录3076条
Docker构建镜像的三种方式(Dockerfile初步)
 

构建镜像的三种方式:

Dockerfile

基于已有的镜像容器进行创建

基于本地模板创建

首先,我们为什么需要构建docker镜像?只有明白了这个问题,我们才知道构建docker镜像的意义或者说价值是什么。

答案其实很简单:docker镜像是docker的三大核心之一,也是应用发布的标准格式,一个完整的docker镜像可以支持一个docker容器的运行。我们在容器进行相关的操作,例如安装应用服务,假设某个业务的需求恰好需要方才安装配置好的应用服务,我们就可以将环境以及搭建的服务生成新的镜像提供出去。

下面我们来具体看看这三种方式的构建手法。

基于Dockerfile构建镜像

什么是Dockerfile

Dockerfile构建镜像的方式就目前而言是使用最为广泛的,这是一种可以自动化生成镜像的一种方式,就类似shell脚本一样,一个脚本执行完就可以将一个服务安装配置好,支持正常使用了。Dockerfile也是一样,也是由一组指令组成的文件,其中每条指令对应Linux中的一条命令,Docker程序将通过读取Dockerfile中的指令最终生成镜像。

 

Dockerfile可以认为是一个普通文件,其结构大致分为四个部分:基础镜像信息、维护者信息、镜像操作指令以及容器启动时执行指令。并且在Dockerfile中支持以“#”开头的注释。

 

Docker镜像的分层

Dockerfile中的每个指令都会创建一个新的镜像层

 

镜像层将被缓存和复用

Dockerfile的指令被修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效

某一层的镜像缓存失效后,其之后的镜像层缓存都会随之失效

镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除则镜像中依然会包含该文件

 

Dockerfile编写规则

Dockerfile中是基于其指令进行编写的,其规则可以参考下面的表格,当然,在编写Dockerfile时,其格式是需要严格遵循的:

除注释外,第一行必须使用FROM指令所基于的镜像名称;之后使用MAINTAINER指明维护信息;然后就是一系列镜像操作指令,如RUNADD等;最后便是CMD指令来指定启动容器时要运行的命令操作。其中RUN指令可以使用多条,CMD只有最后一条可以生效!

本文主要是讲述docker构建镜像的三种方式,Dockerfile的构建具体过程笔者将在之后的文章中通过各种实际案例来讲述演示,本文暂时给出一个Dockerfile文件的例子给大家参考。

[root@localhost ~]# cat Dockerfile #务必先指明基于的基础镜像

FORM CentOS:7#维护该镜像的用户信息(自定义)

MAINTAINER lokott@123.com#镜像操作命令

RUN yum -y update

RUN yum -y install openssh-server

RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config

RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key#开启端口

EXPOSE 22#启动容器时执行指令

CMD ["/usr/sbin/sshd","-D"]

基于已有镜像构建镜像

上述的Dockerfile的构建镜像的方式是自动化进行的,那么手动构建的方式就是剩下的两种了。

基于已有的镜像构建主要是通过docker commit 命令来构建新的镜像,其实质就是将一个容器里面运行的程序以及该程序的运行环境打包起来生成新的镜像。

docker commit的语法规则及可选项介绍

Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

Create a new image from a container's changes

Options:

-a, --author string Author (e.g., "John Hannibal Smith ")#作者信息

-c, --change list Apply Dockerfile instruction to the created image

-m, --message string Commit message #说明信息

-p, --pause Pause container during commit (default true) #生成过程中停止容器的运行

案例:基于原有镜像构建新的镜像(看实质原理)

1.创建一个容器

2.基于该容器使用docker commit 命令创建新的镜像

基于本地模板构建镜像

该方式是通过导入操作系统模板文件生成镜像,模板可以从OPENVZ开源项目下载,下载地址为:http://openvz.org/Download/template/precreated

下面直接给出例子——将debian模板压缩包导入为本地镜像

cat debian-7.0-x86-minimal.tar.gz | docker import - lokott:new

DELL 阵列卡创建热备硬盘
 

本文主要介绍DELL阵列卡创建热备硬盘的配置方法。

 

配置Hot Spare有两种模式,一种是全局热备,也就是指这个热备硬盘可以做为这个通道上所有阵列的热备;另一种是独立热备,配置硬盘为某个指定的磁盘组中的所有虚拟磁盘做热备,也就是说这个磁盘组以外的其他阵列即使硬盘掉线,这个热备也不会去自动做rebuild

 

1.配置全局热备

首先要已经有存在的磁盘组(阵列),我们这里举例为已经配置了两个阵列,阵列0是有012三块物理磁盘配置的raid5,阵列1是由45两块物理磁盘配置的raid1,如图:

 

 

 

2.CTRL N切换至PD Mgmt界面,可以看到4号硬盘状态是Ready.

 

3.将光标移至4号硬盘,按F2,在弹出的菜单中,选择Make Global HS 配置全局的热备盘

 

4.确认后,4号硬盘的状态变为Hotspare

 

5.配置完成后,可以看到磁盘组0与磁盘1的热备都是同一个。

 

6. Mgmt菜进入PD Mgmt菜单,将光标移至热备盘处,按F2,选择Remove Hot Spare回车移除。

 

配置独立热备

1.在配置好的虚拟磁盘管理界面下,将光标移至需要配置独立热备的磁盘组上,按F2,在出现的菜单中选择Magnage DedHS

 

2.将光标移至需要配置为热备的硬盘上,按空格键,看到X标识,说明此硬盘被选择。将光标移至OK处回车,完成配置

 

3.可以看到磁盘组0已经有了热备盘,并且是Dedicated,而磁盘组并没有热备盘

 

4.移除热备,同第1步,将光标移至需要移除热备的磁盘组上,按F2,在出现的菜单中选择Manage Ded.HS

DELL C6100节点带外管理地址(IPMI)配置方法
 

IPMI是智能型平台管理接口(Intelligent Platform Management Interface)。用户可以利用IPMI监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应以及机箱入侵等。IPMI最大的优势在于它是独立于CPUBIOSOS的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控。IPMI是一种规范的标准,由美国英特尔、惠普(Hewlett-Packard)、NEC、美国戴尔电脑和SuperMicro等公司制定。

ipmi可以实现的主要功能

1. 可以在服务器通电(没有启动操作系统)情况下,对它进行远程管理:开机,关机,重启。

2. 基于文本的控制台重定向,可以远程查看和修改bios设置,系统启动过程,登入系统等。

3. 可以远程通过sol连接服务器,解决ssh服务无法访问,远程安装系统,查看系统启动故障等问题。

4. 故障日志记录和 SNMP 警报发送,访问系统事件日志 (System Event Log ,SEL) 和传感器状况。

一、ipmi设置界面

1.在开机到下图界面时按F2进入BIOS

2.如下图,在BIOS选项中选择Server,然后选择IPMI Cconfigurati

 

3.进到下图界面,注意确保Status Of BMC状态为WorkingSet BMC NIC一般选择Dedicated接独立的远控口(不排除选择Share的情况,此时接网口作为远控口),然后选择Set LAN Configuration

 

4.到如下图界面,BMC IP address source Static静态

 

5.选择IP Address 进入输入远控ip 例如:192.168.169.124 回车返回

6.选择Subnet Mask 进入输入掩码255.255.255.0 回车

7.Default Gateway IP网关一般不用设置,或者192.168.169.1

8.完成后按F10保存退出

 

DELL 6100开启虚拟化技术和超线程技术
 

1.在开机到下图界面时按F2进入BIOS

2.BIOS菜单中找到Advanced选项,选择CPU Configuration

 

3.找到Virtualization TechVT),选项改为EnabledVT是对于CPU内存进行虚拟化。

找到Intel VT-d,选项改为Enabled启定向 I/O 虚拟化技术。

找到Hyper-Threading TechnologyHT),选项改为Enabled,开启超线程技术。

 

4.完成后按F10保存退出

 

DELL R720 web界面更新iDRAC固件
 

1.开机看见DELL图标之后按F10进入LIFECYCLE CONTRILLER界面,选择固件更新,并启动固件更新。

 

2.将所需要更新的固件放在U盘中,选择本地驱动器,点击下一步

 

3.插入U盘点击浏览,选择相应固件,为方便使用将固件名改为IDRAC.EXE

4.选中内容,点击应用开始升级

 

5.更新过程可能会比较久,等待更新完成。

 

6.更新结束后,可以查看当前版本已确定是否更新完成。

DELL R610无法进入PXE解决方法
 

1.首先进入开机界面,按F2进入bios

 

2.进入BIOS后,选择Integrated Devices回车进入,如图:

 

3.在弹框之后,选择Embedded Gb NIC1,按空格更改参数,把参数更改为

Enabled with PXE

 

4.参数选择之后,按ESC选择保存退出。

 

5.重启,重新进入PXE,检查是否可以进入。

 

DELL iDRAC功能介绍
 

iDRAC给用户还提供了简体中文界面,比较贴心。我们可以在这个界面来查看服务器的各个部件的运行情况,以及完成服务器的管理操作,例如远程开关机、服务器虚拟控制台来控制整个服务器的运行等,同时还可以查看服务器是否被入侵过;而虚拟控制台预览则可以显示当前服务器的监视器画面。

1.iDRAC网页登陆界面

2.系统摘要

在系统摘要里面我们可以看到iDRAC列举出服务器的关键部件的运行情况,包含电池、服务器散热风扇组、机箱入侵、电源、和温度以及电压等,我们只需点击需要查看的项目即可。如果某个部分有问题,系统摘要就会显示出错误,我们可以进一步的查看具体是某个零部件出现了问题,这样我们在维修的时候就可以直击有问题的地方,能减少大概47%的维护时间。上图中列举出服务器的电源设备有问题,一会我们来查看下电源设备的工作情况。下面我们就罗列出电源、散热风扇和CPU等关键部件的工作状态查看

 

3.电源设备工作状态查看

在电源设备选项里面我们可以看到,原来远程服务器的冗余电源掉电了,只有主电源工作正常。判定好故障的所在我们就可以去机房快速解决问题,极大减少了维护的时间

 

4.散热风扇工作状态查看

这里我们看到5个风扇,在风扇冗余状态中可以看到每一个风扇的工作状态,包括当前风扇转速等,如果有某个风扇出现问题,则风扇前的状况则会出现红色的错误提示。

 

5.iDRAC虚拟控制台的远程监视器画面显示和启动虚拟介质

下面该重点内容出现了,也就是iDRAC的虚拟控制台,通过虚拟控制台可以看到服务器的监视器画面。不过在正常使用之前需要安装一个java6/8,然后会提示连接到远程的服务器,如果网络设置没有问题,远程的服务器监视器的画面就可以搬到我们的屏幕上了

 

另外,如果需要远程将某个CD/DVD或者ISO镜像映射给服务器,可以使用虚拟介质功能,这样我们就可以远程给服务器安装操作系统了。

 

6.内容详尽的系统日志

系统日志是个非常有用的功能,会记录服务器出现的各种问题和关键性信息等,这样就可以让服务器出现的每个硬件问题都变得有据可查、

 

DELL H700阵列卡组建RAID5阵列
 

本文主要介绍DELL H700阵列卡组建RAID 5阵列的配置方法。

 

1.服务器启动过程中根据提示按Ctrl-R组合键进入阵列卡管理页面:

 

2. F2展开虚拟磁盘创建菜单,使用方向键选择“Create New VD”后按回车创建新的虚拟磁盘:

 

3. 在磁盘配置界面,“RAID Level”选择“RAID-5”,接着按Tab键移至“Physical Disks”,按空格键选中所有的磁盘,然后继续按Tab键将光标移至“OK”处,回车:

 

4. 此时会出现如下提示,建议进行初始化操作(备注:如果配置阵列是为了恢复之前的数据,则不要进行初始化),按回车返回VD Mgmt主界面,配置完成:

5.在VD Mgmt主界面,将光标移至下图“Virtual Disk 0”处,按F2,可以对之前配置成功的虚拟磁盘进行初始化(Initialization)、一致性校验(Consistency Check)、删除、查看属性等操作:

 

DELL 6100接电自动开机设置
 

1.在开机到下图界面时按F2进入BIOS

2.BIOS菜单中找到Server选项

3.找到Restore on AC Power Loss,按回车把选项改为Power on

4.完成后按F10保存退出

CPU硅脂的正确涂法
 

1.我们就先来认识一些散热硅脂,我们看看散热硅脂的名词解释:

俗名又叫散热膏,是以特种硅油做基础油,新型金属氧化物做填料,配以多种功能添加剂,经特定的工艺加工而成的膏状物.颜色因材料不同而具有不同的外观。

  

其具有良好的导热、耐温、绝缘性能,是耐热器件理想的介质材料,而且性能稳定,在使用中不会产生腐蚀气体,不会对所接触的金属产生影响。

 

涂抹于功率器件和散热器装配面,帮助消除接触面的空气间隙增大热流通,减小热阻,降低功率器件的工作温度,提高可靠性和延长使用寿命。

 

就像名词解释中所说的散热硅脂起到加速热传导的作用,导热介质,增加接触面积填充CPU铁盖以及散热器中间的坑槽等作用。散热硅脂也并非一涂上就发挥最好的效果,涂上散热硅脂,在经过一段时间的启动,关机的冷热循环后,济压出散热硅脂中的多余空气达到完全填充CPU和散热器之间的空隙时,导热效果才真正完全发挥。散热硅脂的热阻是比金属的大 ,故并非用量大就一定好。

 

 

2.什么硅脂更好

 

最科学的方式还是看产品标注的导热率(单位是W/m·K)当然是数值越高越好,大家选择34.5W/m.K就可以了。此外要重点注意热阻抗这一指标,一定要低于0.08℃·in²/W。如果看不到这两个参数,那么商家吹得再好也不要买!

3.涂抹散热硅脂的注意事项

相信有很多入门级玩家会说为什么要涂薄,散热器里带的散热硅脂给一小管不用完了多可惜。散热器中带的散热硅脂确实有的很多,这样往往会给入门级的DIY玩家带来一定的误导,从导热性能上来讲,再好的散热硅脂也比不过铜铝这些金属材料。铜的导热系数是高档导热散热硅脂的百倍左右。

散热硅脂适量是一个很重要的事情,主要注意的就是涂抹散热硅脂在于要均匀、无气泡、无杂质、尽可能薄。

 

4.常见情况扇热硅脂的涂抹教程

了解了散热硅脂的这些特性后,散热硅脂涂多涂少,涂厚涂薄,如何涂才能达到最好的效果呢。这是一个外国著名网站Benchmark Reviews推出的散热硅脂涂抹攻略,下面跟大家分享下。

 

中间一点式涂抹教程:

 

一字法涂抹教程:

 

二字法涂抹教程:

 

十字法涂抹教程:

以上4种为点法、一字法、二字法、十字法,分别适用于小型底座、长形底座、大型方形底座和大型方形底座(虽然示例用的都是同一款散热器)

 

但是无论怎么涂抹,最终的结果都是如下样子就对了:

扫码添加专属客服
扫码关注公众号