zoukankan      html  css  js  c++  java
  • dockerfile实现服务的快速部署

    实验思路:

    1.先有一个docker的基础镜像

    2.创建一个存放dockerfile的父目录,以后所有的相关的文件都要放到和dockerfile的相同等级的目录中。

    mkdir  /root/httpd

    3.将163的yum源和httpd的源码包放到这个目录下,

    4.创建一个dockerfile文件,进行编辑

    vim  /root/httpd/dockerfile

    FROM centos6:test

    MAINTAINER lipengcheng 777@qq.com

    RUN mv /etc/yum.repos.d/* /root

    ADD CentOS6-Base-163.repo /etc/yum.repos.d/

    RUN yum -y install gcc*

    ADD httpd-2.2.17.tar.gz /usr/src

    WORKDIR /usr/src/httpd-2.2.17/

    RUN ./configure --prefix=/usr/local/httpd  --enable-so --enable-rewribe  --enable-charset-lite  --enable-sockets && make && make install

    RUN ln  -s  /usr/local/httpd/bin/*   /usr/local/bin/

    RUN cp   /usr/local/httpd/bin/apachectl   /etc/rc.d/init.d/httpd

    RUN chmod   a+x   /etc/rc.d/init.d/httpd

    RUN sed -i '1a #chkconfig:35 85 15' /etc/rc.d/init.d/httpd

    RUN chkconfig --add httpd

    RUN chkconfig httpd on

    RUN service httpd restart

    WORKDIR /

    EXPOSE 80

    CMD /bin/bash

    5.执行dockerfile

    docker build --no-cache -t "centos6.1:httpd" . 新镜像的名称和标记

    6.用新生成的镜像创建一个容器,

    docker run -itd --name httpd1  6fcac5e19324 /bin/bash

    docker exec -it httpd1  /bin/bash

    7.验证结果:

    就是可以在容器外,也就是物理机上通过dockerfile的执行可以直接对容器部署服务。

    通过访问容器的名称,可以直接访问httpd服务,看到 it   work ! ,则部署成功。

  • 相关阅读:

    logging 模块和日志
    re 模块和正则表达式
    collections 模块
    hashlib 模块
    序列化 json 和 pickle
    C++之以分隔符的形式获取字符串
    读取配置文件所在路径时的一种常见错误
    char和achar互转
    C++之ARX,Acstring,ACahr转char
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/8549814.html
Copyright © 2011-2022 走看看