zoukankan      html  css  js  c++  java
  • Docker系列(三)Dockerfile 离线构建镜像

    一、Dockfile介绍:

     

      Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于MakefileDocker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。

    二、本文特点

      本文通过docker非联网状态下对docker镜像通过dockerfile搭建一个javaweb开发环境,其中jdk和tomcat都是来自本地,原始镜像,来自于本地已安装的centos原始镜像。

    三、安装

      用Dockerfile构建一个Javaweb环境,主要分为3

    1、准备工作

      将jdktomcat的进行解压,并且与Dockerfile放在同一目录。

    2、创建Dockerfile文件,并编辑

    FROM centos:latest 
    MAINTAINER *** "***@******.com" 
    # 复制本地当前目录下的jdk到容器内
    ADD jdk-8u77-linux-x64/ /usr/local/java/jdk-8u77-linux-x64/
    # 配置jdk环境
    ENV JAVA_HOME /usr/local/java/jdk1.8.0_77 
    ENV PATH $JAVA_HOME/bin:$PATH 
    ENV CLASSPATH .:$JAVA_HOME/lib 
    
    # 复制本地当前目录下的tomcat到容器内
    COPY apache-tomcat-8.0.33/ /usr/local/tomcat/apache-tomcat-8.0.33/ 
    #RUN unzip /usr/local/tomcat/apache-tomcat-8.0.33.zip 
    
    #添加运行权限
    RUN chmod +x /usr/local/tomcat/apache-tomcat-8.0.33/bin/*.sh 
    RUN chmod +x /usr/local/java/jdk-8u77-linux-x64/bin/java
    
    EXPOSE 8080 
    # 定义执行入口
    ENTRYPOINT /usr/local/tomcat/apache-tomcat-8.0.33/bin/startup.sh && /bin/bash 

    原始镜像是centos:latest,然后将jdk的和tomcat的安装包放到和dockerfile相同的目录下。

    3、通过Dockerfile构建镜像

      在Dockerfile所在的目录下构建镜像。

    docker build -t="redstarofsleep/javaweb" .

    4、最后运行镜像

    docker run -d -t -i -p 8081:8080 --name javaweb redstarofsleep/javaweb 
    
    





  • 相关阅读:
    【译】.NET Core 3.0 中的新变化
    【译】最大限度地降低多线程 C# 代码的复杂性
    【wif系列】C#之单例模式(Singleton Pattern)最佳实践
    【译】在C#中实现单例模式
    【译】.NET 跨平台界面框架和为什么你首先要考虑再三
    WPF自定义空心文字
    WPF捕获未处理的异常
    C# 中 SQLite 使用介绍
    C# WebService动态调用
    Java实现将中文转成拼音和ASCII码
  • 原文地址:https://www.cnblogs.com/hdulzt/p/7834677.html
Copyright © 2011-2022 走看看