sha256:2c1acb192f78bbbb584fc52954a179eb0f10730e0cd58d120d952439ead45b00
(4)创建完成后.会返回新创建镜像的ID信息。查看本地镜像列表可以看到新创建的镜像信息:
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker mydhcp 2c1acb192f78 About a minute ago 125 MB
docker.io/networkboot/dhcpd latest 6f98b6b9b486 19 months ago 125 MB(2)基于本地模板创建
通过导入操作系统模板文件可以生成镜像,模板可以从OPENVZ 开源项目下载,下载地址为
http://openvz.org/Download/template/precreated.
用 命令下载如下
wget http://down1oad. openvz . org/ template/precreated/ubuntu-12.04-x86_ 64-minimal.tar.gz(3)基于Dockerfile创建
除了手动生成Docker镜像之外,可以使用Dockerfile自动生成镜像。Dockerfile 是由-组指令组成的文件,其中每条指令对应Linux中的一条命令, Docker 程序将读取Dockerfile中的指令生成指定镜像。
Dockerfile结构大致分为4个部分:基础镜像信息、维护者信息.镜像操作指令和容器启动时执行指令

在编写Dockerfile时,有严格的格式需要遵循:第一行必须使用FROM指令指明所基于的镜像名称:之后使用MAINTAINER指令说明维护该镜像的用户信息:然后是镜像操作相关指令,如RUN指令,每运行一条指令,都会给基础镜像添加新的一层;最后使用CMD指令来指定启动容器时要运行的命令操作。
案例:使用Dockerfile创建镜像并在容器中运行
1.建立工作目录
[root@localhost /]# mkdir apache
[root@localhost /]# cd apache/2.创建并编写Dockerfile文件
[root@localhost media]# docker load < centos 先把centos载入到本地
[root@localhost apache]# vim DockerfileFROM centos 基于centos基础镜像
MAINTAINER The Centos projier 维护该镜像用户信息,后面随便写
RUN yum -y update 镜像操作指令安装apache软件包
RUN yum -y install httpd
EXPOSE 80 开启80端口
ADD index.html /var/www/html/index.html //复制网站首页文件
ADD run.sh /run.sh //将执行脚本复制到镜像中
RUN chmod 775 /run.sh
RUN systemctl disable httpd 设置apache开启不启动
CMD 【“/run.sh”】 启动容器执行脚本
3.编写执行脚本内容
[root@localhost apache]# vim run.sh
#!/bin/bash
rm -rf /run/httpd/* 清理http的缓存
exec /usr/sbin/apachectl -D FOREGROUND 启动apache服务4.创建测试页面










