案例要求:需要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服务立即生效
【扩展】:
此为httpd的配置文件中servername没有修改 95行 ServerName loaclhost:80
[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 .
#末尾有个. 不要丢掉 代表当前运行目录下的脚本文件