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
- Docker二所映象製作Docker
- docker 製作與使用 arcgisserver 映象DockerServer
- Docker如何製作映象-Dockerfile的使用Docker
- 伺服器:如何製作docker映象伺服器Docker
- 使用 Caddy 製作前端 Docker 映象前端Docker
- Docker 入門系列四:Dockerfile-映象製作Docker
- 製作 Python Docker 映象的最佳實踐PythonDocker
- docker製作自己的映象並上傳dockerhubDocker
- 無需依賴Docker環境製作映象Docker
- 製作JavaCV應用依賴的基礎Docker映象(CentOS7+JDK8+OpenCV4)JavaDockerCentOSJDKOpenCV
- 使用Docker搭建WordPress部落格(三)nginx映象製作DockerNginx
- docker決戰到底(五) 製作自己的Jenkins映象DockerJenkins
- 自己動手製作elasticsearch-head的Docker映象ElasticsearchDocker
- Docker從零開始製作基礎映象之CentosDockerCentOS
- 【實踐】Docker for Windows 製作tomcat 映象並上傳至 docker 倉庫DockerWindowsTomcat
- Dockerfile映象的製作Docker
- docker初體驗:docker 自己定製映象Docker
- Docker 映象製作教程:針對不同語言的精簡策略Docker
- 自己動手製作elasticsearch的ik分詞器的Docker映象Elasticsearch分詞Docker
- 教你如何使用Docker製作Python環境連線Oracle映象DockerPythonOracle
- Docker Redis映象 主從複製DockerRedis
- JDK17用什麼docker基礎映象?JDKDocker
- Docker & ASP.NET Core (2):定製Docker映象DockerASP.NET
- 體驗SpringBoot(2.3)應用製作Docker映象(官方方案)Spring BootDocker
- 詳解SpringBoot(2.3)應用製作Docker映象(官方方案)Spring BootDocker
- Docker映象製作實戰:設定時區和系統編碼Docker
- alpine 製作 PHP 環境映象PHP
- 自己製作redis 和mongo 映象RedisGo
- Linux 製作系統映象Linux
- Docker定製自己的環境映象Docker
- Docker下RabbitMQ四部曲之二:細說RabbitMQ映象製作DockerMQ
- Dokcer製作nginx映象,提交映象至倉庫Nginx
- Docker入門系列之二:使用dockerfile製作包含指定web應用的映象DockerWeb
- 製作容器映象的最佳實踐
- OpenStack 映象製作之cloud-initCloud
- [zz]為 OpenStack Nova 製作 Ubuntu 映象Ubuntu
- 把docker映象當作桌面系統來用Docker