案例要求:需要centos镜像下的httpd环境直接打包成新的镜像,直接使用 准备:一台装有docker环境的虚拟机,拉取centos:7的镜像(最新的也可以)
1.使用docker commit构建镜像
拉取镜像
创建环境
[root@xiongan /]# yum clean all
[root@xiongan /]# yum install -y httpd
[root@xiongan /]# vi /var/www/html/index.html
[root@xiongan /]# httpd -k start #使httpd服务立即生效
【扩展】:
[root@xiongan /]# curl http://172.17.0.2
hello,docker-xiongan
#使用docker commit 构建新的镜像
[root@docker-tz ~]# docker commit xiongan centos-httpd:v1
2.使用docker build构建镜像-Dockerfile
创建dockerfile目录 在本机内创建dockerfile目录→创建Dockerfile文件 run-httpd.sh文件 index.html文件
编辑脚本内容
Dockerfile:
FROM centos:7
MAINTAINER "tz taozi@taozi.com"
RUN yum clean all
RUN yum -y install httpd
ADD run-httpd.sh /run-httpd.sh
RUN chmod 755 /run-httpd.sh
ADD index.html /var/www/html
EXPOSE 80
WORKDIR /
CMD ["/bin/bash","/run-httpd.sh"]
run-httpd.sh:
#! /bin/bash
rm -rf /run/httpd*
exec /sbin/httpd -D FOREGROUND
测试执行
[root@docker-tz dockerbuild]# docker build -t centos-test:v1 .
#末尾有个. 不要丢掉 代表当前运行目录下的脚本文件