11.4 模擬賽
阿新 • • 發佈:2020-11-04
什麼是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的映象