7. Dockerfile

  7.1 什麼是Dockerfile

  Dockerfile是由一系列命令和參數構成的腳本,這些命令應用於基礎鏡像並最終建立一個新的鏡像。java

  一、對於開發人員:能夠爲開發團隊提供一個徹底一致的開發環境; linux

    二、對於測試人員:能夠直接拿開發時所構建的鏡像或者經過Dockerfile文件構建一個新的鏡像開始工做了; docker

      三、對於運維人員:在部署時,能夠實現應用的無縫移植。centos

 

7.2 經常使用命令

命令 做用
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 設置工做目錄

 

  

  7.3 使用腳本建立鏡像

  步驟:bash

  (1)建立目錄服務器

mkdir –p /usr/local/dockerjdk8

  

  (2)下載jdk-8u171-linux-x64.tar.gz並上傳到服務器(虛擬機)中的/usr/local/dockerjdk8目錄運維

  (3)在剛剛Centos7內建立的/usr/local/dockerjdk8目錄中建立文件Dockerfile測試

執行命令vi Dockerfile 寫入以下內容ui

#依賴鏡像名稱和ID
FROM centos:7
#指定鏡像建立者信息
MAINTAINER ITCAST
#切換工做目錄
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相對路徑jar,把java添加到容器中
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/

#配置java環境變量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

  

  (4)執行命令構建鏡像spa

docker build -t='jdk1.8' .

  注意後邊的空格和點,不要省略 | 空格和點表明當前目錄,意思是在當前目錄下尋找Dockerfile這個文件,使用Dockerfile文件進行鏡像的構建;

  

(5)查看鏡像是否創建完成

docker images
相關文章
相關標籤/搜索