zoukankan      html  css  js  c++  java
  • 基于Dockerfile创建docker镜像

    0、先创建一个文件夹img

    mkdir img
    

      

    1、Linux上新建3个文件

    2、文件内容分别写入

    (1)Dockerfile中

    # 基于的基础镜像centos
    FROM centos
    # 维护该镜像的用户信息
    MAINTAINER The CentOS Project<cloud-ops@centos.org>
    # 镜像中的操作指令:安装apache软件包
    RUN yum -y update
    RUN yum -y install httpd
    # 开启镜像中的80端口
    EXPOSE 80
    # 复制网址首页文件
    ADD index.html /var/www/html/index.html
    # 将执行脚本复制到镜像中
    ADD run.sh /run.sh
    RUN chmod 775 /run.sh
    # 启动容器时执行脚本
    CMD ["/run.sh"]
    

      

    (2)index.html中

    web test
    

      

    (3)run.sh中

    #!/bin/bash
    rm -rf /run/httpd/*
    exec /usr/sbin/apachectl -D FOREGROUND

    说明:

    rm -rf /run/httpd/*     清理httpd的缓存
    exec /usr/sbin/apachectl -D FOREGROUND          启动apache服务

    3、使用Dockerfile生成镜像

    docker build -t httpd:centos .
    

    -t  指定镜像标签

    后面就会使用刚才编写的Dockerfile自动创建生成镜像。

    可以看到整个创建过程中,每运行一次Dockerfile中的指令,都会给初始镜像加上新的一层。

    4、使用新的镜像运行容器

    docker run -dit -p 49180:80 httpd:centos
    

      

    运行此命令前:先检查

    (1)docker images  新建镜像是否存在

    (2)netstat -an |grep 49180     宿主机中端口49180是否被占用,如果端口被占用就换一个端口号

    注意:80端口是容器中的端口,不用管

    运行此命令后:检查

    docker  ps -a

    看看该容器是否在运行(up)

    5、防火墙开放宿主机的端口49180

    firewall-cmd --zone=public --list-ports 
    firewall-cmd --zone=public --add-port=49180/tcp --permanent 
    firewall-cmd --reload 
    

      

    6、浏览器访问

    ip:49180

  • 相关阅读:
    《经济学通识》六、生命有限
    《经济学通识》五、反垄断的罪与罚
    《经济学通识》四、贸易与互惠
    《经济学通识》三、价格与市场
    《经济学通识》二、管制的愿望与结果
    《经济学通识》一、前言
    《必然》十三、开始,正从脚下开始
    《必然》十二、一个好问题足以改变世界
    字符串之strstr
    STL之内存处理工具
  • 原文地址:https://www.cnblogs.com/andy9468/p/10715633.html
Copyright © 2011-2022 走看看