Docker製作jdk映象

Dawn.x發表於2020-12-21

Dockerfile簡介

dockerfile 是一個文字格式的配置檔案, 使用者可以使用 Dockerfile 來快速建立自定義的映象,
另外,使用Dockerfile去構建映象好比使用pom去構建maven專案一樣,有異曲同工之妙

dockerfile基本結構
Dockerfile 由一行行命令語句組成, 並且支援以#開頭的註釋行,一般而言, Dockerfile 主體內容分為四部分:
基礎映象資訊、 維護者資訊、 映象操作指令和容器啟動時執行指令。

部分 命令
基礎映象資訊 FROM
維護者資訊 MAINTAINER
映象操作指令 RUN、(COPY/ADD)、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME等
容器啟動時執行指令 CMD、ENTRYPOINT

Docker製作jdk映象

啟動虛擬機器,進入centos

1.建立資料夾上傳jdk的安裝包,和在同級目錄下編寫Dockerfile檔案
建立映象目錄

mkdir –p /xiaoyang_docker/jdk

安裝lrzsz命令

      yum install lrzsz -y

選擇檔案進行上傳

 rz

注意d是大寫

   touch Dockerfile 

2.編寫 Dockerfile 檔案

#1.指定基礎映象,並且必須是第一條指令
		FROM centos:7

		#2.指明該映象的作者和其電子郵件
		MAINTAINER zs "zs@qq.com"

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

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

		#5.配置環境變數
		ENV JAVA_HOME=/xiaoyang_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

出現對應版本即為成功

 dockerfile實踐經驗
   1. 精簡映象用途:儘量讓每個映象的用途都比較集中單一,避免構造大而複雜、多功能的映象
   2. 選用合適的基礎映象:容器的核心是應用,選擇過大的父映象(如Ubuntu系統映象)會造成最終生成應用映象的膝腫,
       推薦選用瘦身過的應用映象或者較為小巧的系統映象(alpine)

over…

相關文章