Docker與容器化-03-使用Dockerfile創建鏡像

一.Dockerfile簡介

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

1、對於開發人員:可以爲開發團隊提供一個完全一致的開發環境;
2、對於測試人員:可以直接拿開發時所構建的鏡像或者通過Dockerfile文件構建一個新的鏡像開始工作了;
3、對於運維人員:在部署時,可以實現應用的無縫移植。

二.Dockerfile常用命令

命令 參數 作用
FROM image_name:tag 定義了使用哪個基礎鏡像啓動構建流程
MAINTAINER user_name 聲明鏡像的創建者
ENV key value 設置環境變量 (可以寫多條)
RUN commands 是Dockerfile的核心部分(可以寫多條),指定docker build過程中要運行的命令
ADD source_dir/file dest_dir/file 將宿主機的文件複製到容器內,如果是一個壓縮文件,將會在複製後自動解壓
COPY source_dir/file dest_dir/file 和ADD相似,但是如果有壓縮文件並不能解壓
WORKDIR path_dir 設置工作目錄
CMD commands 在docker run(啓動容器)時運行,如果 dockerfile 中如果存在多個CMD指令,僅最後一個生效,如果命令有很多參數,需要用""和,隔開

三.使用Dockerfile創建JDK鏡像

步驟:

(1)創建目錄

mkdir –p /usr/local/dockerjdk8

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

(3)創建文件Dockerfile vi Dockerfile

#依賴鏡像名稱和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)執行命令構建鏡像

docker build -t='jdk1.8' .

注意後邊的空格和點,不要省略

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

docker images
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章