日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Docker最全教程之使用Docker搭建Java开发环境

發(fā)布時間:2023/12/4 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker最全教程之使用Docker搭建Java开发环境 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

Java是一門面向?qū)ο蟮膬?yōu)秀編程語言,市場占有率極高,但是在容器化實(shí)踐過程中,發(fā)現(xiàn)官方支持并不友好,同時與其他編程語言的基礎(chǔ)鏡像相比(具體見各語言鏡像比較),確實(shí)是非常臃腫。

Java

[Java])具有簡單性、面向?qū)ο蟆⒎植际健⒔研浴踩浴⑵脚_獨(dú)立與可移植性、多線程、動態(tài)性等特點(diǎn)。Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

注意:值得注意的是,Oracle (甲骨文)公司宣布,“2019年1月之后”,如果沒有獲得Oracel公司的商業(yè)許可證,Java SE 8(注:Java SE為Java平臺標(biāo)準(zhǔn)版的簡稱)將不會再收到公開更新,也將無法用于“商業(yè)或生產(chǎn)用途”。目前收費(fèi)標(biāo)準(zhǔn)為,對于 PC,每用戶每月是 2.5 美元,對于服務(wù)器/云部署,每個處理器每月是 25 美元。

官方鏡像

Java官網(wǎng)鏡像地址為:

[https://hub.docker.com/_/java]

官方介紹無。在Java社區(qū),對Docker的擁抱粒度相對其他語言不是很大,不僅教程相對缺失,而且官方支持力度不大。這一點(diǎn),大家可以通過搜索引擎進(jìn)一步了解。不過,還是有許多Java開發(fā)者也在擁抱Docker。

各語言鏡像比較

寫到這里,筆者突發(fā)奇想,相對主流的鏡像做一個體積比較。

我們可以通過docker images命令來列出本地鏡像,同時可以使用參數(shù)來進(jìn)行篩選。

Java
我們可以使用以下命令來查看Java相關(guān)鏡像的大小:
600M左右的體積,相對來說,還是臃腫。我們可以和其他鏡像做一些對比:

NET Core
docker images microsoft/dotnet


運(yùn)行時鏡像200M左右,而且高版本鏡像越來越輕量。

Python
docker images python
Php
docker images php

使用Docker搭建Java開發(fā)環(huán)境

本篇僅做探索,主要解決以下問題:

無需搭建Java開發(fā)環(huán)境

  • 開發(fā)環(huán)境變化只需更新鏡像即可(比如從Java8改為Java9)

  • 無需安裝IDE(比如eclipse)

  • 提供一個極簡Demo

編寫Hello world!

按照碼農(nóng)協(xié)會行業(yè)定律,初學(xué)必寫Hello World,以表達(dá)對編程世界的敬仰之情。如下面代碼所示:

//引入命名空間import java.util.*; //加入Java開發(fā)交流君樣:756584822一起吹水聊天 //類public class Hello{//程序入口public static void main(String[] args){//打印字符串(控制臺)System.out.println("Hello World!");//打印當(dāng)前時間System.out.println(new Date()); //加入Java開發(fā)交流君樣:756584822一起吹水聊天}}

這里順便說下,我們使用萬能編輯器VisualStudio Code來編輯上述代碼,支持代碼高亮,同時還會自動推薦相關(guān)擴(kuò)展,如下所示:
并且還提供完善的文檔教程:

編寫Dockerfile

如下所示,示例Dockerfile文件如下:

# 基于Java 9FROM java:9# 設(shè)置工作目錄WORKDIR /app//加入Java開發(fā)交流君樣:756584822一起吹水聊天# 復(fù)制文件到工作目錄COPY . /app# 設(shè)置Java環(huán)境變量ENV PATH=$PATH:$JAVA_HOME/binENV JRE_HOME=${JAVA_HOME}/jreENV CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib# 編譯RUN ["/usr/lib/jvm/java-9-openjdk-amd64/bin/javac","Hello.java"]# 運(yùn)行ENTRYPOINT ["/usr/lib/jvm/java-9-openjdk-amd64/bin/java", "Hello"]

構(gòu)建鏡像并執(zhí)行

接下來,我們可以執(zhí)行以下命令以構(gòu)建Docker鏡像:

docker build --rm -f “Dockerfile” -t java-hello:latest .
構(gòu)建成功后,我們跑起來看效果:

docker run java-hello:latest

總結(jié)

以上是生活随笔為你收集整理的Docker最全教程之使用Docker搭建Java开发环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。