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 ! ,则部署成功。

  • 相关阅读:
    IDEA中用jetty启动项目时,url 404
    Mysql 性能查询
    RabbitMQ 安装
    Ubuntu安装kubernetes
    .net 4 调用WCF时报错 Type 'System.Threading.Tasks.Task`1[]' cannot be serialized
    Windows XP SP2上安装.net 4
    angular学习的一些Mark
    [转]对 td 使用 overflow:hidden; 无效的几点错误认识
    静态方法与非静态方法的区别
    二进制字符串的权限管理
  • 原文地址:https://www.cnblogs.com/Leonardo-li/p/8549814.html
Copyright © 2011-2022 走看看