1. 程式人生 > 實用技巧 >11.4 模擬賽

11.4 模擬賽

什麼是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的映象