Dockerfile簡介及基於centos7的jdk鏡像製作

Dockerfile簡介及基於centos7的jdk鏡像製作

Dockerfile簡介

dockerfile 是一個文本格式的配置文件, 用戶可以使用 Dockerfile 來快速創建自定義的鏡像,

另外,使用Dockerfile去構建鏡像好比使用pom去構建maven項目一樣,有異曲同工之妙

dockerfile基本結構

Dockerfile 由一行行命令語句組成, 並且支持以#開頭的註釋行,一般而言, Dockerfile 主體內容分爲四部分:

基礎鏡像信息、 維護者信息、 鏡像操作指令和容器啓動時執行指令。

部分 命令
基礎鏡像信息 FROM
維護者信息 MAINTAINER
鏡像操作指令 RUN、(COPY/ADD)、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME等
容器啓動時執行指令 CMD、ENTRYPOINT

Docker製作jdk鏡像

0.啓動虛擬機,進入centos

1.創建文件夾上傳jdk的安裝包,和在同級目錄下編寫Dockerfile文件

#創建鏡像目錄

  mkdir –p /javaxl_docker/jdk

#安裝lrzsz命令

  yum install lrzsz -y

#選擇文件進行上傳

rz
在這裏插入圖片描述

注意d是大寫

   touch Dockerfile

2.編寫 Dockerfile 文件

#1.指定基礎鏡像,並且必須是第一條指令

FROM centos:7

#2.指明該鏡像的作者和其電子郵件
MAINTAINER hu "zs@[email protected]"

#3.在構建鏡像時,指定鏡像的工作目錄,之後的命令都是基於此工作目錄,如果不存在,則會創建目錄
WORKDIR /hu_docker/jdk

#4.一個複製命令,把jdk安裝文件複製到鏡像中,語法:ADD <src>... <dest>,注意:jdk*.tar.gz使用的是相對路徑
ADD jdk-8u221-linux-x64.tar.gz /hu_docker/jdk/

#5.配置環境變量
ENV JAVA_HOME=/hu_docker/jdk/jdk1.8.0_221
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH

#容器啓動時需要執行的命令
#CMD ["java","-version"]

3.執行Dockerfile文件,初次依賴鏡像的時候會下載相應鏡像

  docker build -t jdk8:v1.0 .

在這裏插入圖片描述

注1:-t jdk8:v1.0 給新構建的鏡像取名爲 jdk8, 並設定版本爲 v1.0

注2:注意最後有個點,代表使用當前路徑的 Dockerfile 進行構建

4.查看鏡像

docker images

在這裏插入圖片描述

5.創建並啓動容器

 docker run -it jdk8:v1.0 /bin/bash

6.檢查是否有問題

 java -version

在這裏插入圖片描述

  1. dockerfile實踐經驗

    1. 精簡鏡像用途:儘量讓每個鏡像的用途都比較集中單一,避免構造大而複雜、多功能的鏡像

    2. 選用合適的基礎鏡像:容器的核心是應用,選擇過大的父鏡像(如Ubuntu系統鏡像)會造成最終生成應用鏡像的膝腫,

      推薦選用瘦身過的應用鏡像或者較爲小巧的系統鏡像(alpine)

end…

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