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

  • 相关阅读:
    windows7 Cygwin 下安装 YouCompleteMe 插件
    挣值管理(EVT)
    关键路径法
    PERT(计划评审技术,Program Evaluation an Review Technique)
    孙子兵法--你如何来做好事情
    项目经理解决冲突的模式
    PMP考试--成本管理中常用的概念
    PMP考试--挣值如何计算?
    PMP-产品范围与项目范围区别
    PMP考试--价值工程法
  • 原文地址:https://www.cnblogs.com/andy9468/p/10715633.html
Copyright © 2011-2022 走看看