本文详细介绍了dockerfile制作apache镜像的方式,对大家来说非常详细。对大家的学习、培训或者工作都有一定的参考价值,有需要的朋友可以参考一下。
一、Docker镜像1.1对接镜
它使用发布的标准文件格式
来支持docker容器的 *** 作。
1.2如何创建docker图像
Docker镜像是一个层次结构。
①Dockerfile中的每一条指令都会创建一个新的镜像层
②镜像层会被缓存复用
③当dockerfile的指令发生变化,复制的文档发生变化,或者镜像建立时具体的自变量不同时,匹配的镜像层缓存文件会失效
④某一层的镜像层缓存文件失效后,后续的所有镜像层缓存文件都会失效
⑤镜像如果文档被添加到某一层,然后在下一层被删除,该文件仍将包含在镜像中。
将程序流程和软件环境打包在容器中,形成新的镜像。
Dockercommit选项要创建的映像的容器id名称:ID
-m:指示信息
-a:创建者信息
-p:在整个形成过程中停止容器的 *** 作。
情况
[root@server1~]#dockerps-a#目前容器 CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 86cf506635dacentos:7"/bin/bash"6secondsagoUp5secondsnervous_shockley [root@server1~]#dockercommit-m"image"-a"zf"-p86cf506635dadocker:new#创建docker:new镜像 sha256:e3056b40acd772abc9a39c7c4f3cb42ba119eb9396b32fb275414f00e82d55b2 [root@server1~]#dockerimages#查询形成的镜像 REPOSITORYTAGIMAGEIDCREATEDSIZE dockernewe3056b40acd79secondsago267MB centos74f280dc8c80721hoursago267MB #最好是终止容器再创建镜像 三、根据当地模版创建根据导入到计算机 *** 作系统中的模板文档,形成新的镜像
,使用wget指令将其作为本地镜像导入。
Dockerfile是由一组指令组成的文档。
文档结构:
Dockerfile适用于每行一条指令,每条指令可以携带几个主要参数。以“#”开头的注释适用。
Dockerfile实际 *** 作说明:
情况
[root@server1~]#mkdirapache#创建镜像目录 [root@server1~]#cdapache/ #创建Dockerfile [root@server1apache]#viDockerfile FROMcentos:7#根据的基本镜像,在centos核心运作 MAINTAINERthisiszzfweb#维护者信息 RUNyum-yupdate RUNyum-yinstallhttpd EXPOSE80#打开80端口,给外界投射用 ADDindex.html/var/www/html/index.html#将宿主机网址文档添加到镜像内 ADDrun.sh/run.sh#将实行脚本制作拷贝到镜像内 RUNchmod755/run.sh#提权 CMD["/run.sh"]#起动容器时实行脚本制作,打开Apache服务项目 #当今目录里创建index.html和run.sh [root@server1apache]#virun.sh #!/bin/bash rm-rf/run/httpd/* exec/usr/sbin/apachectl-DFOREGROUND#起动容器时起动服务项目 [root@server1apache]#viindex.html hello #创建镜像,务必在当今有Dockerfile的目录下,留意空格符加.意味着当今目录 [root@server1apache]#dockerbuild-thttp:centos. #查询创建的镜像 [root@server1apache]#dockerimages REPOSITORYTAGIMAGEIDCREATEDSIZE httpcentos5db0e8103d545minutesago539MB daokenew61b2d8af045733minutesago215MB dockernewe3056b40acd743minutesago267MB centos74f280dc8c80722hoursago267MB #运作镜像为容器 -p为映射端口,将容器端口号80投射为寄主服务器端口号1212(务必是未被占有的) -P不特定连接点端口号,任意特定端口号,默认设置从32168端口号刚开始分派 [root@server1apache]#dockerrun-d-p1212:80http:centos #查询容器情况 [root@server1apache]#dockerps-a CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES a8fa8ae6be42http:centos"/run.sh"3minutesagoUp3minutes0.0.0.0:1212->80/tcpxenodochial_franklin 86cf506635dacentos:7"/bin/bash"48minutesagoUp48minutesnervous_shockley关闭防火墙并检测Apache服务项目。
至此,这篇关于dockerfile如何制作apache镜像的文章已经在这里详细介绍过了。有关dockerfile制作镜像的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)