Docker之apache,sshd,systemctl,Nginx镜像制作

这篇博客详细介绍了如何使用Dockerfile创建Docker镜像,包括基于已有镜像创建新镜像、基于本地模板创建、以及构建sshd、systemctl和Nginx服务的容器。Dockerfile中的每条指令都会创建一个新的镜像层,并且讨论了镜像缓存、不可变性等概念。
摘要由CSDN通过智能技术生成

Docker镜像分层

  1. Dockerfile中的每个指令都会创建一个新的镜像层
  2. 镜像层将被缓存和复用
  3. 当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效
  4. 某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效
  5. 镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件

在这里插入图片描述

Docker镜像的创建

Docker镜像

●应用发布的标准格式
●支撑一个Docker容器的运行

Docker镜像的创建方法

基于已有镜像创建
基于本地模板创建
基于Dockerfile创建

基于已有镜像创建

将容器里面运行的程序及运行环境打包生成新的镜像

docker commit [选项]容器ID/名称仓库名称:[标签]
●-m说明信息
●-a作者信息
●-p生成过程中停止容器的运行

基于本地模板创建

通过导入操作系统模板文件生成新的镜像
使用wget命令导入为本地镜像
wget
http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz

导入成功后可查看本地镜像信息
docker images lgrep new

/生成镜像
docker build -t httpd:centos . (注意别忘了末尾有".")

//新镜像运行容器
docker run -d -p 1216:80 httpd:centos

//测试
http://192.168.195.128:1216/

------------------基于已有的镜像容器进行创建---------------
//创建容器
docker create -it centos:7 /bin/bash

docker commit -m "new" -a "daoke" c83aee844ae0 daoke:test

docker images | grep daoke

在这里插入图片描述

基于本地模板创建
wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz

cat debian-7.0-x86- minimal.tar.gz | docker import - daoke:new
docker images | grep new

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值