1. 程式人生 > >Docker實戰(四):Docker安裝JDK

Docker實戰(四):Docker安裝JDK

Docker安裝JDK

安裝JDK7和JDK8基本沒有區別,只是Dockerfile有所不同,但是他們都繼承了之前tools的Docker映象,下面給出了JDK7和JDK8的Dockerfile原始檔。

大概步驟:
  1. 上傳jdk7到宿主機
  2. 編寫Dockerfile構建映象
  3. 編寫supervisor配置檔案
  4. build和run
# 方式一:可以通過ssh上傳指定版本的jdk(這裡選擇第一種)
# 1. 上傳jdk7到宿主機
# 2. 將jdk7都解壓到指定的目錄下(和Dockerfile檔案同目錄)

# 方式二:從官網或者映象網站下載jdk7
Dockerfile檔案
############################################
# version : birdben/jdk7:v1
# desc : 當前版本安裝的jdk7
############################################
# 設定繼承自我們建立的 tools 映象
FROM birdben/tools:v1

# 下面是一些建立者的基本資訊
MAINTAINER birdben (191654006@163.com)

# 設定環境變數,所有操作都是非互動式的
ENV DEBIAN_FRONTEND noninteractive

# 新增 supervisord 的配置檔案,並複製配置檔案到對應目錄下面。(supervisord.conf檔案和Dockerfile檔案在同一路徑)
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf # 設定 jdk 的環境變數,若讀者有其他的環境變數需要設定,也可以在這裡新增。 ENV JAVA_HOME /software/jdk7 # 複製 jdk1.7.0_71 檔案到映象中(jdk1.7.0_71 資料夾要和Dockerfile檔案在同一路徑) ADD jdk1.7.0_71 /software/jdk7 # 執行supervisord來同時執行多個命令,使用 supervisord 的可執行路徑啟動服務。 CMD ["/usr/bin/supervisord"]
Dockerfile原始檔連結:
supervisor配置檔案內容
# 配置檔案包含目錄和程序
# 第一段 supervsord 配置軟體本身,使用 nodaemon 引數來執行。
# 第二段包含要控制的 2 個服務。每一段包含一個服務的目錄和啟動這個服務的命令。

[supervisord]
nodaemon=true

[program:sshd]
command=/usr/sbin/sshd -D
控制檯終端
# 構建映象
docker build -t="birdben/jdk7:v1" .
# 執行已經構件好的映象
docker run -p 9999:22 -t -i birdben/jdk7:v1