首页 > 其他 > 详细

Docker虚拟化技术系列之-DockerFile案例演练

时间:2017-02-21 19:48:52      阅读:282      评论:0      收藏:0      [点我收藏+]

Dockfile是一种被Docker程序能够解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。

Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。

相比镜像这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明镜像是怎么产生的。有了Dockerfile,我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成镜像即可。

给大家分享几个常用的案例,DockerFile企业案例实战,开放80端口和22端口配置案例:

1)开启SSH 22端口,并远程连接服务器,dockerfile内容如下:

# 设置基本的镜像,后续命令都以这个镜像为基础

FROM centos_lamp:v1

# 作者信息

MAINTAINER JFEDU.NET

# RUN命令会在上面指定的镜像里执行任何命令

RUN yum install passwd openssl openssh-server -y

RUN echo ‘123456‘ | passwd --stdin root

RUN sed -i‘/^session\s\+required\s\+pam_loginuid.so/s/^/#/‘ /etc/pam.d/sshd

RUN mkdir -p /root/.ssh && chown root.root /root&& chmod 700 /root/.ssh

RUN mkdir /var/run/sshd

#暴露ssh端口22

EXPOSE  22

#设定运行以daemon方式启动sshd

CMD /usr/sbin/sshd -D

技术分享

2)开启Apache 80端口,并远程连接服务器,dockerfile内容如下:

# 设置基本的镜像,后续命令都以这个镜像为基础

FROM centos_lamp:v1

# 作者信息

MAINTAINER JFEDU.NET

# RUN命令会在上面指定的镜像里执行任何命令

RUN yum install pcre-devel -y

RUN yum install httpd httpd-devel -y

#暴露ssh端口80

EXPOSE 80

#启动httpd

CMD ["/usr/sbin/apachectl", "-D","FOREGROUND"]

技术分享

最终截图如下:

技术分享

到此结束了吗?远远没有哦,思考一个问题,如何同时开放多个端口呢,例如802280803306端口对外访问呢?

Docker虚拟化技术系列之-DockerFile案例演练

原文:http://wgkgood.blog.51cto.com/1192594/1899844

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!