一、Docker镜像
1.1 docker镜像
应用的是发布的标准格式
支撑一个docker容器的运行
1.2 docker镜像的创建方法
- 基于已有的镜像创建
- 基于本地模板创建
- 基于Dockerfile创建
Docker镜像是分层的结构
①Dockerfile中的每个指令都会创建一个新的镜像层
②镜像层将被缓存和复用
③当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效
④某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效
⑤镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件
二、基于已有的镜像创建实例
将容器里面运行的程序及运行环境打包生成新的镜像
docker commit 选项 容器id 想要创建的镜像名:标签
-m:说明信息
-a:作者信息
-p:生成过程中停止容器的运行
实例
[root@server1 ~]# docker ps -a #现有容器 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 86cf506635da centos:7 "/bin/bash" 6 seconds ago Up 5 seconds nervous_shockley [root@server1 ~]# docker commit -m "image" -a "zf" -p 86cf506635da docker:new #创建docker:new镜像 sha256:e3056b40acd772abc9a39c6c4f3cb42ba119eb9392b32fb275414f00e82d55b2 [root@server1 ~]# docker images #查看生成的镜像 REPOSITORY TAG IMAGE ID CREATED SIZE docker new e3056b40acd7 9 seconds ago 267MB centos 7 4f280dc8c807 21 hours ago 267MB #最好停止容器再创建镜像
三、基于本地模板创建
通过导入操作系统模板文件生成新的镜像
使用wget命令导入为本地镜像
[root@server1 ~]# cat debian-7.0-x86-minimal.tar.gz | docker import - daoke:new #导入模板命名镜像名为daoke:new [root@server1 ~]# docker images #查看生成的镜像 REPOSITORY TAG IMAGE ID CREATED SIZE daoke new 61b2d8af0457 38 seconds ago 215MB docker new e3056b40acd7 10 minutes ago 267MB centos 7 4f280dc8c807 22 hours ago 267MB
四、基于Dockerfile创建
Dockerfile是由一组指令组成的文件。
文件结构:
- 基础镜像信息
- 维护者信息
- 镜像操作指令
- 容器启动时执行指令
Dockerfile每行支持一 条指令,每条指令可携带多个参数,支持使用以“#“号开头的注释。
Dockerfile操作指令:
实例
[root@server1 ~]# mkdir apache #建立镜像目录 [root@server1 ~]# cd apache/ #创建Dockerfile [root@server1 apache]# vi Dockerfile FROM centos:7 #基于的基础镜像,在centos内核运行 MAINTAINER this is zzf web #维护者信息 RUN yum -y update RUN yum -y install httpd EXPOSE 80 #开启80端口,给外部映射用 ADD index.html /var/www/html/index.html #将宿主机网站文件加入到镜像内 ADD run.sh /run.sh #将执行脚本复制到镜像内 RUN chmod 755 /run.sh #提权 CMD ["/run.sh"] #启动容器时执行脚本,开启Apache服务 #当前目录里创建index.html和run.sh [root@server1 apache]# vi run.sh #!/bin/bash rm -rf /run/httpd/* exec /usr/sbin/apachectl -D FOREGROUND #启动容器时启动服务 [root@server1 apache]# vi index.html hello #创建镜像,必须在当前有Dockerfile的目录下,注意空格加. 代表当前目录 [root@server1 apache]# docker build -t http:centos . #查看创建的镜像 [root@server1 apache]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE http centos 5db0e8103d54 5 minutes ago 539MB daoke new 61b2d8af0457 33 minutes ago 215MB docker new e3056b40acd7 43 minutes ago 267MB centos 7 4f280dc8c807 22 hours ago 267MB #运行镜像为容器 -p 为映射端口,将容器端口80映射为宿主主机端口1212(必须是未被占用的) -P 不指定节点端口,随机指定端口,默认从32168端口开始分配 [root@server1 apache]# docker run -d -p 1212:80 http:centos #查看容器状态 [root@server1 apache]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a8fa8ae6be42 http:centos "/run.sh" 3 minutes ago Up 3 minutes 0.0.0.0:1212->80/tcp xenodochial_franklin 86cf506635da centos:7 "/bin/bash" 48 minutes ago Up 48 minutes nervous_shockley
关闭防火墙,测试Apache服务
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月22日
2024年11月22日
- FIM-无可挑剔的声音(SuperSound声霸1)[FLAC+CUE]
- 萧亚轩《3面夏娃/三面夏娃》[WAV+CUE][1G]
- 佛音《大悲咒》新加坡金碟珍藏版[WAV+CUE][994M]
- 刘德丽《赤的疑惑HQCD》头版限量编号MQA[WAV+CUE][1G]
- 谢采妘《古典情·现代心精选辑》[南方唱片]2CD[WAV整轨]
- [好时代珍藏系列]山口百惠《赤之传说》[WAV+CUE]
- RonaldBrautigam,PeterMasseursandConcertgebouwOrchestraAmsterdam-ShostakovichTheJazz
- 筷子兄弟《老男孩》[WAV+CUE][899M]
- 陈曦《寂寞在唱歌HQCD》2023头版限量编号[WAV+CUE][1G]
- 张惠妹《阿密特》NEW XRCD[WAV+CUE][455M]
- 邓伟标《西游记之悟空》24K金碟限量编号首版[低速原抓WAV+CUE]
- 群星《2024好听新歌40》AI调整音效【WAV分轨】
- 张梦弘《大城小爱HQ》头版限量编号[低速原抓WAV+CUE]
- 张敬轩《MY 1ST COLLECTION》2CD[WAV+CUE][1.7G]
- 张玮伽《夜归人HQⅡ》2024头版限量编号[WAV+CUE][523M]