【VMCloud云平台】拥抱Docker(六)关于DockerFile(2)

上一章,我们讲了DockerFile的最基本构成,讲了两种Dockerfile的构建Image方式,这一篇,我们将来介绍DockerFile里面所带的N多参数。

以下就是今天所要说DockerFile涉及的环境:

DockerFile简易示意图:

1、 RUN参数:我们在上一章创建的DockerFile里加入参数Run yum install –y vim*:

2、 尝试构建,你就会发现Dockerfile的RUN参数生效了:

3、 所以,RUN的作用就是可以帮你运行一些需要预运行的命令,但是最好不要在RUN里面做类似“yum update”、“apt-get update”之类的操作,这并不符合Dockerfile的最佳实践。

4、 CMD参数:介绍到RUN就不得不介绍下CMD了,CMD命令与RUN的区别在于,CMD在一个DockerFile只能用一次,如果在DockerFile存在多个CMD的话,默认只运行最后一条,比如你可以在最后一行写上一句“Enjoy your docker images”,CMD的调用比较特殊,是在通过以你的images构建完成容器后自动触发,比如docker run ImagesName:

5、 EXPOES参数:这个参数用来指定Container需要暴露给其他Container的端口,相当于构建内部网络,与-p的区别在于,expoes是对内提供端口方法(Container之间,比如ngx访问mysql),-p参数是映射端口相当于NAT,比如:

6、 构建完成:

7、 接着,我们通过这个images创建两个容器,就明白EXPOSE参数的作用了,可以看到下图有出现“port 22”:

8、 但是在端口映射表里是看不到的,证明这是内部映射端口:

9、 进入其中一个容器,使用nmap测试另外一个容器的端口是否能够相通:

10、 ENTRYPOINT参数:就此可以看出EXPOSE的作用,眼尖的人儿可能看到我使用了ENTRYPOINT这个参数,ENTRYPOINT这个参数的属性跟CMD有点儿像,同样是多个参数存在的时候只执行最后一条,这个例子中,我使用了该参数将SSH服务作为一个后台服务进行运行:



时间: 2024-10-26 07:32:05

【VMCloud云平台】拥抱Docker(六)关于DockerFile(2)的相关文章

【VMCloud云平台】拥抱Docker(一)安装

VMCloud云平台发布到现在已经历史一年,按照原本计划,第二步应该是VMware私有云平台搭建,但是开源实在来得太过凶猛,博主身在战场中深深的感受到了 Docker有很多种安装方式,但是我推荐使用Ubuntu,因为Docker是在ubuntu环境下开发的,所以安装包测试比较充分(难度系数0),这里由于要跟Zabbix.OpenStack等做整合,所以我选择在Azure上搭建Docker,这也是为了实现之前在盆盆老师课程上吹过的牛逼(Microsoft Azure+Windows Azure S

【VMCloud云平台】SCCM(六)客户端硬件、软件资产管理

继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍SCCM主要功能--客户端硬件.软件资产管理(紫色为完成实施,红色为实施中): 1. 点击管理: 2. 点击客户端设置: 3. 右键客户端默认设置,开启硬件清单: 4. 设置需要收集的类(当然也可以自已导入mof模板进行额外的硬件收集): 5. 点击确定后,点击软件清单,开启收集: 6. 设置收集的类型为.exe: 7. 确认设置后点击确定(设置计划): 8. 回到客户端符合性页,点击其中一台设备,右键启动-资源浏览器: 9

【VMCloud云平台】SCOM配置(六)-应用深度监控

继云平台完成SCVMM基础篇之后,SCOM篇正式开始,今天将开始介绍虚拟化中监控利器--SCOM,在VMCloud平台中存在有.net应用,如何去很好的监控.net应用的性能呢?今天就VMCloud平台的SP01做为监控源演示深度监控的配置方式(紫色为完成实施,红色为实施中): 1. 分别在SCOM01与SP01上设置APM服务为自动以及启动: 2. 添加监控向导: 3. 输入名称后选择管理包(这里选择新建管理包): 4. 在监控内容上我们选择对SharePoint整个网站进行监控: 5. 选择

【VMCloud云平台】SCCM(五)创建第一个集合

继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍SCCM创建第一个集合,集合作用跟GPO中的作用域是一样的,即有时候你需要对不同范围的机器进行分发操作或其他操作时则需要把范围规定起来(紫色为完成实施,红色为实施中): 1. 打开管理控制台,定位点客户端符合性: 2. 在设备集合上点击右键选择创建设备集合: 3. 输入新集合名称,并选择目标机器所在的集合: 4. 点击下一步,新建成员规则,选择直接规则: 5. 输入资源类型与规则: 6. 接着就会出现筛选出来的值,进行勾选:

【VMCloud云平台】SCCM(七)域内推软件(一)

继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍SCCM为域内机器推送软件(紫色为完成实施,红色为实施中): 1. 为VMloud平台部署一台测试机(可以利用之前部署的SCVMM模板): 2. 上传测试用的软件到SCCM Server中(Citrix插件将用于演示静默安装时使用): 3. 接着打开SCCM管理控制台,切换到软件库-展开定位到应用程序管理,右键新建包: 4. 输入应用程序名称及相关信息: 5. 选择程序的类别: 6. 选择文件路径与填写软件名: 7. 输入预

【VMCloud云平台】SCCM(七)域内推软件(二)

继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍SCCM为域内机器推送软件(紫色为完成实施,红色为实施中): 1. 点击上端部署: 2. 选择集合为之前创建的集合: 3. 由于已经分发内容,这一页就保持默认即可: 4. 选择部署类型为可用,可供用户选择: 5. 不指定计划,让用户随时可以安装: 6. 这里选择默认即可: 7. 默认下一步: 8. 确认下一步后点击确定: 9. 进入客户端,将部署计划进行手动触发(在控制面板中找到CCM代理): 10. 过一会儿,就可以看到软

【VMCloud云平台】SCOM配置(十三)-创建SLO(二)

SCCM中有一种功能叫做安全基线扫描,可以针对安全策略来设置基线检测.在SCOM中也有相似的功能,那就是SLO,可以针对某些条件进行SLO判断,即上一篇讲完创建SLO规则后,这一篇将讲述如何利用该SLO进行创建仪表盘,如何以报表形式呈现(紫色为完成实施,红色为实施中): 1. 登录到SCOM管理控制台,点击我的工作区,右键新建-仪表盘 2. 接着选择视图布局-服务级别仪表板: 3. 输入仪表板名称: 4. 选择添加SLO规则: 5. 确认摘要并点击创建: 6. 创建成功: 7. 稍等片刻就可以看

【VMCloud云平台】SCCM(八)OSD(二)- 模板机捕获准备

继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍SCCM如何为域内机器推送OS(即OSD功能)(紫色为完成实施,红色为实施中): 1. 在DHCP服务器上点击选项,右键配置选项: 2. 配置066为SCCM01或PXE点: 3. 配置67项的启动文件: 4. 接着在SCCM01服务器上新建一个共享文件夹,设置权限以便模板机进行获取: 5. 定位到如图位置: 6. 右键启动映像包(取决于你的系统是多少位的): 7. 点击分发: 8. 与分发软件同样的步骤: 9. 定位到任务

【VMCloud云平台】SCCM(三)初始配置

继上一篇云平台完成SCCM部署篇之后,SCCM篇正式开始,今天将开始介绍为SCCM做一些初始配置(紫色为完成实施,红色为实施中): 1. 检测完成安装后的SCCM状态: 2. 点击管理,定位到如图位置: 3. 右键点击林发现-属性,勾选如图项(检测间隔建议不宜太短,考虑到实际生产环境的带宽与SQL数据而定): 4. 点击应用后会出现是否尽快发现,直接点击是即可,继续右键系统发现属性,添加AD容器(即系统存在的位置OU): 5. 点击确定进行尽快发现系统: 6. 接着点击左侧边界,查看是否发现了I

【VMCloud云平台】SCOM配置(七)-创建自定义性能规则

继云平台完成SCVMM基础篇之后,SCOM篇正式开始,今天将开始介绍虚拟化中监控利器--SCOM,SCOM本身的规则虽然不少,但是其实隐藏了很多计数器可以自已添加,当然,SCOM也提供了这方面的规则建立方式(紫色为完成实施,红色为实施中): 1. 打开SCOM管理台,点击创作并定位到管理包对象-规则: [余下部分请移玉步到http://vmcloud.info/?p=1826] PS:为方便交流,VMCloudQQ群已开通,欢迎各位探讨任何关于虚拟化或云方面的技术,特别欢迎干货入驻!VMClou