zoukankan      html  css  js  c++  java
  • Dockerfile

    什么是Dockerfile

    Dockerfile是由一系列命令和参数构成的脚本

    这些命令应用于基础镜像并最终创建一个新的镜像

    常用命令

    FROM image_name:tag		// 定义了使用哪个基础镜像启动构建流程
    MAINTAINER user_name	// 声明镜像的创建者
    ENV key value			// 设置环境变量(可以写多条)
    RUN command				// 是Dockerfile的核心部分(可以写多条)
    ADD source_dir/file dest_dir/file		// 将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
    COPY source_dir/file dest_dir/file		// 和ADD相似,如果有压缩文件不会解压
    WORKDIR path_dir		// 设置工作目录
    

    构建JDK1.8镜像

    sudo mkdir -p /usr/local/dockerjdk8 # 创建一个存放镜像的目录
    sudo apt-get install lrzsz # 安装上传工具 
    sudo rz # 然后上传jdk的压缩包
    
    sudo docker pull   # jdk需要一个系统作为基础镜像,先下载好
    
    sudo apt-get install vim
    sudo vim Dockerfile # 构建Dockerfile(名字必须一模一样) 内容如下:
    
    FROM ubuntu:16.04
    MAINTAINER Lanceli
    WORKDIR /usr
    RUN mkdir /usr/local/java
    ADD OpenJDK8U-jdk_x64_linux_openj9_8u272b10_openj9-0.23.0.tar.gz /usr/local/java/
    
    ENV JAVA_HOME /usr/local/java/jdk8u272-b10
    ENV JRE_HOME $JAVA_HOME/jre
    ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
    ENV PATH $JAVA_HOME/bin:$PATH
    
     sudo docker build -t='jdk1.8' . # 构建 -t指定镜像名称 . 是指当前目录,它会自动去找Dockerfile
     sudo docker images # 发现多了一个jdk1.8的镜像
    
  • 相关阅读:
    POJ 2234 Matches Game 尼姆博弈
    复杂问题的简单抽象:魔兽世界中的兔子们
    POJ 2368 巴什博奕
    POJ 1067 取石子游戏 威佐夫博弈
    Codeforces 704A Thor 队列模拟
    Codeforces 703B Mishka and trip
    P1447 [NOI2010]能量采集
    P2652 同花顺
    P2034 选择数字 / P2627 [USACO11OPEN]Mowing the Lawn G
    P2515 [HAOI2010]软件安装
  • 原文地址:https://www.cnblogs.com/winter-shadow/p/13929232.html
Copyright © 2011-2022 走看看