案例要求:需要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
  • 编辑脚本内容

    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 . #末尾有个. 不要丢掉 代表当前运行目录下的脚本文件
    成功
    exec查看
最后修改:2022 年 12 月 11 日
如果觉得我的文章对你有用,请随意赞赏