Docker製作jdk映象
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…
相關文章
- 製作Docker映象Docker
- YashanDB Docker映象製作Docker
- oracle製作docker映象OracleDocker
- Docker 映象製作方法Docker
- Docker二所映象製作Docker
- docker 製作與使用 arcgisserver 映象DockerServer
- Docker如何製作映象-Dockerfile的使用Docker
- 伺服器:如何製作docker映象伺服器Docker
- 製作 Python Docker 映象的最佳實踐PythonDocker
- 製作JavaCV應用依賴的基礎Docker映象(CentOS7+JDK8+OpenCV4)JavaDockerCentOSJDKOpenCV
- Docker 入門系列四:Dockerfile-映象製作Docker
- 自編譯製作docker版本的onlyoffice映象編譯Docker
- docker製作自己的映象並上傳dockerhubDocker
- 無需依賴Docker環境製作映象Docker
- docker決戰到底(五) 製作自己的Jenkins映象DockerJenkins
- 自己動手製作elasticsearch-head的Docker映象ElasticsearchDocker
- proxmox映象製作
- 製作KubeVirt映象
- 【實踐】Docker for Windows 製作tomcat 映象並上傳至 docker 倉庫DockerWindowsTomcat
- centos製作具備telnet和ping功能的docker映象CentOSDocker
- Docker 必知必會3----使用自己製作的映象Docker
- 體驗SpringBoot(2.3)應用製作Docker映象(官方方案)Spring BootDocker
- 詳解SpringBoot(2.3)應用製作Docker映象(官方方案)Spring BootDocker
- 製作一個龍芯舊世界的 dotnet sdk docker 映象Docker
- 教你如何使用Docker製作Python環境連線Oracle映象DockerPythonOracle
- Dockerfile映象的製作Docker
- docker初體驗:docker 自己定製映象Docker
- Docker 映象製作教程:針對不同語言的精簡策略Docker
- 自己動手製作elasticsearch的ik分詞器的Docker映象Elasticsearch分詞Docker
- JDK17用什麼docker基礎映象?JDKDocker
- Linux 製作系統映象Linux
- Docker映象製作實戰:設定時區和系統編碼Docker
- Docker & ASP.NET Core (2):定製Docker映象DockerASP.NET
- alpine 製作 PHP 環境映象PHP
- 自己製作redis 和mongo 映象RedisGo
- 製作一個能構建 dotnet AOT 的 gitlab runner 的 Debian docker 映象GitlabDocker
- 製作一個能構建 dotnet AOT 的 gitlab ruuner 的 Debian docker 映象GitlabDocker
- Docker下RabbitMQ四部曲之二:細說RabbitMQ映象製作DockerMQ