国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于Linux Alpine 制作 Java 8、11 Docker 鏡像并支持中文

這篇具有很好參考價值的文章主要介紹了基于Linux Alpine 制作 Java 8、11 Docker 鏡像并支持中文。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Linux Alpine

1、關于linux alpine 樓主就不多介紹了,在容器化背景下, alpine 非常適合做容器基礎鏡像 。
2、有興趣的同學可以轉至官網查看 https://www.alpinelinux.org

制作Java鏡像

1、樓主這里展示了基于 JDK1.8 和 JDK 11 的鏡像制作方式 , 如下為 Dockerfile 文件
2、樓主這里增加了 glibc 庫, 主要是為了解決中文亂碼及部分Java工程可能使用的依賴

FROM alpine:3.15
CMD ["/bin/sh"]
MAINTAINER 871364441@qq.com
# 創(chuàng)建工作目錄
WORKDIR /root
# 修改軟件包源地址(此處使用 清華大學的源地址)
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories
# 更新軟件包
RUN apk update upgrade
RUN apk add --no-cache ca-certificates tzdata tree curl tini
# 安裝 glibc 庫,主要為了解決中文亂碼, 但是有部分java工程可能會依賴. 比如: aws kinesis 等
COPY locale.md locale.md
COPY glibc-2.35-r0.apk glibc-2.35-r0.apk
COPY glibc-bin-2.35-r0.apk glibc-bin-2.35-r0.apk
COPY glibc-i18n-2.35-r0.apk glibc-i18n-2.35-r0.apk
COPY sgerrand.rsa.pub /etc/apk/keys/sgerrand.rsa.pub
RUN apk add glibc-2.35-r0.apk glibc-bin-2.35-r0.apk glibc-i18n-2.35-r0.apk
RUN cat locale.md | tr -d '\r' | xargs -i /usr/glibc-compat/bin/localedef -i {} -f UTF-8 {}.UTF-8 && \
rm -rf *.apk && \
rm -rf /var/cache/apk/* && \
rm -rf locale.md
# tzdata 是可以配置時區(qū),這里默認使用上海時區(qū)
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
RUN { echo '#!/bin/sh'; echo 'set -e'; echo; echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; } > /usr/local/bin/docker-java-home
RUN chmod +x /usr/local/bin/docker-java-home
# 支持使用中文
ENV LANG=zh_CN.UTF-8
ENV LANGUAGE=zh_CN.UTF-8


# 以下為安裝jdk 11 的命令 , 目前alpine:3.15 里面軟件包最新版本 jdk版本 11.0.15
ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-11-openjdk/jre/bin:/usr/lib/java-11-openjdk/bin
RUN apk add --no-cache openjdk11 && [ "$JAVA_HOME" = "$(docker-java-home)" ]


# 以下為安裝jdk 1.8 的命令 , 目前alpine:3.15 里面軟件包最新版本 jdk版本 1.8.0_322
# ENV JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
# ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
# RUN apk add --no-cache openjdk8 && [ "$JAVA_HOME" = "$(docker-java-home)" ]

CMD ["java","-version"]

關于 glibc 的幾個文件和locale文件

1、glibc 文件 下載方式及地址 (樓主網絡不穩(wěn)定,所以提前下載好使用)

wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-bin-2.35-r0.apk
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-i18n-2.35-r0.apk
wget https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub

2、locale 文件及其 內容

1、創(chuàng)建文件 
touch locale.md

2、寫入文件內容
en_US
zh_CN
zh_HK
zh_SG
zu_ZA

關于容器啟動 Java 服務

1、啟動Java服務時,在 dockerfile 末尾里面增加

ENTRYPOINT ["tini","java","-Dfile.encoding=utf-8","-jar","/demo.jar"]

2、切記一定要 增加 tini 命令,是為了容器啟動后可以正常使用 jstack jmap 兩個命令的

關于docker鏡像

1、JDK 11 的鏡像已經上傳指docker官方鏡像倉庫, 歡迎下載: docker pull duxinglangzi/alpine-java11:latest
2、JDK 8 的鏡像下載地址: docker pull duxinglangzi/alpine-java8:latest文章來源地址http://www.zghlxwxcb.cn/news/detail-706176.html

到了這里,關于基于Linux Alpine 制作 Java 8、11 Docker 鏡像并支持中文的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 基于 Alpine 環(huán)境源碼構建 alibaba-tengine(阿里巴巴)的 Docker 鏡像

    基于 Alpine 環(huán)境源碼構建 alibaba-tengine(阿里巴巴)的 Docker 鏡像

    Alpine Linux 是一款極其輕量級的 Linux 發(fā)行版,基于 busybox ,多被當做 Docker 鏡像的底包(基礎鏡像),在使用容器時或多或少都會接觸到此系統(tǒng),本篇文章我們以該鏡像構建 tengine-alpine 鏡像。 說明:此處以 alpine 3.18.3 tengine 3.0.0 為實驗進行容器鏡像構建。 小巧: 基于 Musl li

    2024年02月11日
    瀏覽(19)
  • docker Alpine鏡像介紹(基礎鏡像)

    docker Alpine鏡像介紹(基礎鏡像)

    https://hub.docker.com/_/alpine https://github.com/alpinejs/alpine Alpine鏡像 是一個基于Alpine Linux發(fā)行版構建的Docker鏡像。Alpine Linux是一個輕量級的Linux發(fā)行版,它的目標是提供一個安全、簡單、高效的操作系統(tǒng)。Alpine Linux采用了musl libc和BusyBox來最小化系統(tǒng)的大小,并且使用了自己的包管理

    2024年02月13日
    瀏覽(36)
  • docker使用alpine構建jdk21鏡像

    ????????項目使用的是springboot3.0,進行docker打包的時候需要jdk17以上,索性我就使用jdk21了,但是進行docker打包的時候,沒有找到jdk21的鏡像包,所以就想自己打包一個。 ? ? ? ? 1.最初想要基于centOS去封裝一個鏡像,但是覺得這個包體會比較大,然后了解到了alpine這個基

    2024年01月16日
    瀏覽(21)
  • docker基礎3——制作鏡像(基于容器)

    docker基礎3——制作鏡像(基于容器)

    鏡像可以理解為應用程序的集裝箱,而docker用來裝卸集裝箱。 docker鏡像含有啟動容器所需要的文件系統(tǒng)及其內容,所以鏡像是用于創(chuàng)建并啟動容器。 docker鏡像采用分層構建機制,最底層為bootfs,其上為rootfs。 bootfs:用于系統(tǒng)引導的文件系統(tǒng),包括bootloader和kernel,容器啟動完

    2024年02月07日
    瀏覽(114)
  • Docker制作Java8環(huán)境鏡像

    這里介紹如何制作一個java8環(huán)境的鏡像,用于運行java應用程序。 這里采用OpenJDK,不會涉及版本問題。 同樣思源中文字體也是開源的,沒有版權問題。 OpenJDK8:OpenJDK8U-jdk_x64_linux_hotspot_8u382b05.tar.gz wget安裝包:wget-1.14-18.el7_6.1.x86_64.rpm 思源中文字體:09_SourceHanSerifSC.zip 上面三個

    2024年02月10日
    瀏覽(21)
  • 【Linux|Docker】以CentOS 7為基礎鏡像制作一個目標鏡像(Nginx)

    【Linux|Docker】以CentOS 7為基礎鏡像制作一個目標鏡像(Nginx)

    ==== 需要哪些東西? 1.nginx的安裝腳本 install_nginx.sh 源碼 https://nginx.org/download/nginx-1.23.3.tar.gz 2.Dockerfile 3.1 準備環(huán)境,新建目錄 3.2 編寫一個編譯安裝nginx的腳本 為了提高效率,編寫一個腳本執(zhí)行,一次性編譯安裝好! vim install_nginx.sh 腳本文件內容如下: 3.3 編寫Dockerfile 編寫

    2024年02月14日
    瀏覽(24)
  • java執(zhí)行ffmpeg命名的Docker鏡像制作

    java執(zhí)行ffmpeg命名的Docker鏡像制作

    今天來記錄一下通過Dockerfile制作docker鏡像的過程 我需要通過java服務調用ffmpeg去執(zhí)行視頻合并的功能,想把這個環(huán)境封裝到docker鏡像當中,方便以后遷移部署。 隨便找一個路徑創(chuàng)建一個Dockerfile文件 寫入一下內容即可 上面的意思就是 在jdk8鏡像的基礎上執(zhí)行一下安裝ffmpeg的命

    2024年02月14日
    瀏覽(22)
  • 【開源電商網站】(2),使用docker-compose和dockerfile進行配置,設置自定義的鏡像,安裝插件,增加漢化包,支持中文界面漢化。

    【開源電商網站】(2),使用docker-compose和dockerfile進行配置,設置自定義的鏡像,安裝插件,增加漢化包,支持中文界面漢化。

    相關內容: https://blog.csdn.net/freewebsys/category_12461196.html 原文地址: https://blog.csdn.net/freewebsys/article/details/133666433 包括以下運行的詳細代碼: https://gitee.com/study-demo-all/oscommerce2-study 視頻教程: https://www.bilibili.com/video/BV1kB4y1Z7HS/?vd_source=4b290247452adda4e56d84b659b0c8a2 首先是鏡像的選擇

    2024年02月05日
    瀏覽(48)
  • docker基于已有容器和通過Dockerfile進行制作鏡像配置介紹

    目錄 一.制作鏡像的兩種方式 1.在已有容器中更新并提交這個鏡像 2.使用Dockerfile來制作 二.基于容器制作鏡像 1.格式 (1)主要格式 (2)可選參數(shù) 2.案例 基于容器創(chuàng)建鏡像設置標簽并進行驗證是否可用 (1)運行容器并寫入驗證內容(改變容器存儲層內容) (2)另起終端制

    2024年02月11日
    瀏覽(107)
  • 【使用debian鏡像】docker的基礎鏡像很多,生產環(huán)境中使用建議還是不要使用centos和alpine的基礎鏡像了,直接使用debian的基礎鏡像即可。

    【使用debian鏡像】docker的基礎鏡像很多,生產環(huán)境中使用建議還是不要使用centos和alpine的基礎鏡像了,直接使用debian的基礎鏡像即可。

    本文的原文連接是: https://blog.csdn.net/freewebsys/article/details/108971807 未經博主允許不得轉載。 博主CSDN地址是:https://blog.csdn.net/freewebsys 博主掘金地址是:https://juejin.cn/user/585379920479288 博主知乎地址是:https://www.zhihu.com/people/freewebsystem 為啥要使用debian鏡像呢? 首先 centos的官網已

    2024年02月08日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包