zoukankan      html  css  js  c++  java
  • Docker: dockerfile常用关键字

    Dockerfile指令

    Dockfile执行和shell命令一行,一行一行执行~

    写Dockerfile注意点:

    1.           尽量少RUN

    2.           多个命令拼接在一起

    3.           清理部署垃圾

    下面是一个构建一个tomcat的dockerfile 

    FROM centos:7
    MAINTAINER 容器学院
    
    ENV VERSION=8.0.52
    
    RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && 
        yum clean all && 
        rm -rf /var/cache/yum/*
    
    RUN wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz && 
        tar zxf apache-tomcat-${VERSION}.tar.gz && 
        mv apache-tomcat-${VERSION} /usr/local/tomcat && 
        rm -rf apache-tomcat-${VERSION}.tar.gz /usr/local/tomcat/webapps/* && 
        mkdir /usr/local/tomcat/webapps/test && 
        echo "ok" > /usr/local/tomcat/webapps/test/status.html && 
        sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat/bin/catalina.sh && 
        ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    
    ENV PATH $PATH:/usr/local/tomcat/bin
    
    WORKDIR /usr/local/tomcat
    
    EXPOSE 8080
    CMD ["catalina.sh", "run"]

    上面步骤中,要提到的是 

    ENV VERSION=8.0.52  需要根据你需要的构建的tomcat版本修改值 ,这里我们把值设置成 VERSION=8.5.38

    小技巧:

    比如说你要在linux上安装 tomcat,但是你又不知道安装步骤或者不知道如何写dockerfile.

    那么可以从https://hub.docker.com 去搜索你的关键字,比如说这里是tomcat, 并找到对应的dockerfile,查看里面的命令,就能快速安装一个应用

    又或者您的企业需要一个tomcat 镜像,并且里面有一些自定义的内容,那么也可以到官方去找到tomcat的dockerfile,在官方的dockerfile上进行自定义修改, 这样快多了,没必要从0开始写一个dockerfile . 

    作者: 梅梅~

    出处: https://www.cnblogs.com/keeptesting

    关于作者:专注软件测试,测试运维相关工作,请多多赐教!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 欢迎沟通交流加微信联系。 微信:yangguangkg20140901 暗号:博客园.

  • 相关阅读:
    Spring Boot 学习(一) 快速搭建SpringBoot 项目
    @RunWith和 SpringJUnit4ClassRunner ---->junit4和Spring一起使用
    Spring Boot的SpringApplication类详解
    @SpringBootApplication的使用
    使用阿里云搭建个人博客
    @Controller和@RestController的区别?
    蚂蚁金服开发文档中心
    Logger.getLogger()和LogFactory.getLog()的区别
    SimpleDateFormat使用详解
    SpringBoot整合RabbitMQ实现微服务间的异步消息沟通
  • 原文地址:https://www.cnblogs.com/keeptesting/p/10536810.html
Copyright © 2011-2022 走看看