<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Dockerfile 文件

      視頻說明

      Dockerfile 文件

      Dockerfile 是一個 用于構建 Docker 鏡像的腳本文件,本質上是一個包含了一系列命令的純文本文件,這些命令按照順序執行,用于自動化創建鏡像。每一條命令都對應鏡像構建過程中的一個層(Layer)。

      Dockerfile 是怎么被使用的

      Dockerfile 文件通過 docker build 命令被使用,構建出一個鏡像:

      docker build -t my-image-name:tag .
      

      說明:

      • -t my-image-name:tag:為鏡像指定名稱和標簽(可選)
      • .:當前目錄中要包含 Dockerfile 文件

      構建成功后,你可以用這個鏡像運行容器:

      docker run -d -p 8000:8000 my-image-name:tag
      

      Dockerfile 常用指令說明

      指令 說明
      FROM 指定基礎鏡像,必須是第一條有效指令
      RUN 執行命令并提交結果,用于安裝軟件包、修改配置等
      COPY 將本地文件/目錄復制到鏡像中
      ADD 類似 COPY,但支持自動解壓和 URL 下載
      WORKDIR 設置工作目錄,相當于 cd
      ENV 設置環境變量
      EXPOSE 聲明容器運行時會監聽的端口
      CMD 設置容器啟動時默認執行的命令(可被 docker run 參數覆蓋)
      ENTRYPOINT 設置容器啟動時的入口點(通常配合 CMD 使用)
      VOLUME 定義掛載點,用于數據持久化
      USER 指定運行容器時的用戶名或 UID
      ARG 構建時使用的變量,與 ENV 不同,構建完成后不會存在于鏡像中
      HEALTHCHECK 定義容器運行時的健康檢查命令
      ONBUILD 給基礎鏡像定義觸發器,供繼承鏡像執行
      SHELL 更改后續 RUN 等指令的 shell 解釋器

      Dockerfile 示例

      示例1

      # 選擇基礎鏡像
      FROM python:3.12
      
      # 設置環境變量
      ENV PYTHONDONTWRITEBYTECODE=1
      ENV PYTHONUNBUFFERED=1
      
      # 設置工作目錄
      WORKDIR /app
      
      # 復制本地代碼到容器
      COPY . /app/
      
      # 安裝依賴
      RUN pip install --upgrade pip && pip install -r requirements.txt
      
      # 聲明暴露的端口
      EXPOSE 8000
      
      
      # 啟動命令
      CMD ["python", "app.py"]
      

      EXPOSE 指令說明

      EXPOSE 是 Dockerfile 中的指令,用于聲明容器內應用程序計劃監聽的網絡端口。它主要起到文檔化提示作用,具體如下:

      1. 聲明端口

        • EXPOSE 告知 Docker 和用戶,容器內的應用程序將在指定的端口上運行或接受連接。
        • 語法:EXPOSE <port> [<port>/<protocol>],例如 EXPOSE 80EXPOSE 53/UDP
        • 默認協議為 TCP,可指定 UDP
      2. 不影響程序運行

        • EXPOSE 僅聲明端口,不會改變容器內應用程序的實際行為。
        • 如果應用程序未在聲明的端口上監聽,EXPOSE 本身不會強制監聽。
        • 未聲明端口,應用程序仍可正常監聽其他端口,但用戶需自行查看程序配置或代碼以了解實際使用的端口
      3. 文檔化作用

        • 聲明端口使鏡像使用更透明,方便其他開發者或運維人員了解容器預期的工作方式。
        • 例如,Web 應用通常聲明 80443 端口,數據庫可能聲明 3306(MySQL)或 5432(PostgreSQL)。
      4. 不自動開放端口

        • EXPOSE 不會使端口自動對外可見。需在運行容器時使用 docker run -p <host_port>:<container_port> 映射端口,或用 -P 隨機映射所有暴露端口。
        • 示例:docker run -p 8080:80 nginx 將容器內 80 端口映射到主機 8080 端口。

      示例2

      FROM eclipse-temurin:8-jre-noble
      
      ENV TZ=Asia/Shanghai
      RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
          && echo ${TZ} > /etc/timezone
      
      RUN mkdir -p /app/xxx
      ENV APP_DIR=/app/xxx
      WORKDIR $APP_DIR
      
      COPY . $APP_DIR/
      
      CMD ["java", "-jar", "/app/xxx/xxx-boot-1.0.0.jar"]
      

      添加注釋

      # 使用 Eclipse Temurin 提供的 OpenJDK 8 運行時環境作為基礎鏡像(基于 Ubuntu Noble)
      FROM eclipse-temurin:8-jre-noble
      
      # 設置時區為上海(東八區)
      ENV TZ=Asia/Shanghai
      
      # 創建時區軟鏈接,設置系統時間為 Asia/Shanghai,并寫入 timezone 文件
      RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
          && echo ${TZ} > /etc/timezone
      
      # 創建應用目錄 /app/xxx(-p 參數確保父目錄也會被創建)
      RUN mkdir -p /app/xxx
      
      # 設置環境變量 APP_DIR,值為應用路徑
      ENV APP_DIR=/app/xxx
      
      # 設置工作目錄為 $APP_DIR,后續指令會在此目錄下執行
      WORKDIR $APP_DIR
      
      # 將構建上下文目錄下所有文件復制到鏡像內的 $APP_DIR 目錄
      COPY . $APP_DIR/
      
      # 設置容器啟動時執行的命令,即運行指定的 jar 包
      CMD ["java", "-jar", "/app/xxx/xxx-boot-1.0.0.jar"]
      

      WAR 包程序

      如果需要修改 WAR 包中的內容,建議在容器啟動前完成修改。不要等容器運行后再進入容器內部操作。
      可以直接使用 WinRAR 或類似工具打開 WAR 包,在壓縮包內修改配置文件或其他資源文件,并保存修改。
      這樣可避免在容器中額外操作,簡化部署流程,提高一致性和可維護性。

      FROM tomcat:8.5-jre8
      
      # 刪除默認的 Tomcat 應用程序
      RUN rm -rf $CATALINA_HOME/webapps/*
      
      # 復制 WAR 文件到 Tomcat 的 webapps 目錄下
      COPY xxx.war $CATALINA_HOME/webapps/
      
      # 將日志輸出到 stdout,方便 Docker 容器日志收集器收集
      RUN ln -sf /dev/stdout $CATALINA_HOME/logs/catalina.out
      
      # 設置時區為上海
      ENV TZ=Asia/Shanghai
      RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
      
      # 暴露 Tomcat 的 HTTP 端口
      EXPOSE 8080
      
      # 啟動 Tomcat
      CMD ["catalina.sh", "run", "-it"]
      

      構建運行

      # 構建鏡像
      docker build -t xxx:1.0 .
      
      # 使用鏡像創建并啟動一個容器實例
      docker run --name xxx -d -p 8080:8080 --restart always xxx:1.0
      
      # 多行寫法
      docker run -d \
        --name xxx \
        -restart always \
        -p 8080:8080 \
        xxx:1.0
      

      示例3

      # 使用 CondaForge Miniforge3 基礎鏡像
      FROM condaforge/miniforge3:24.9.2-0
      
      # 設置時區
      ENV TZ=Asia/Shanghai
      RUN ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
          && echo ${TZ} > /etc/timezone
      
      # 設置工作目錄
      WORKDIR /app
      
      # 復制本地文件到容器中的 /app 目錄
      COPY ./ /app/
      
      # 配置 Conda 鏡像為清華大學源
      RUN conda config --set show_channel_urls yes \
          && conda config --remove channels defaults || true \
          && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main \
          && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r \
          && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 \
          && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge \
          && conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
      
      # 配置 pip 鏡像為清華大學源
      RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
      
      # 賦予入口腳本可執行權限
      RUN chmod +x /app/entrypoint.sh
      
      # 暴露端口 23001
      EXPOSE 23001
      
      # 創建 Conda 環境并安裝依賴
      RUN conda env create -f /app/environment.yml
      
      # 使用入口腳本作為容器的默認命令
      ENTRYPOINT ["/app/entrypoint.sh"]
      

      其中 /app/environment.yml 是 conda 中要安裝的依賴文件版本

      示例如下

      name: alg_xxx_env
      channels:
        - pytorch
        - defaults
        - conda-forge
      dependencies:
        - _libgcc_mutex=0.1=main
        - _openmp_mutex=5.1=1_gnu
        - _tflow_select=2.1.0=gpu
        - absl-py=0.15.0=pyhd3eb1b0_0
        - astor=0.8.1=py37h06a4308_0
        - blas=1.0=mkl
        - c-ares=1.19.1=h5eee18b_0
        - ca-certificates=2023.01.10=h06a4308_0
        - certifi=2022.12.7=py37h06a4308_0
        - cudatoolkit=10.2.89=hfd86e86_1
        - cudnn=7.6.5=cuda10.2_0
        - fftw=3.3.9=h5eee18b_2
        - flit-core=3.6.0=pyhd3eb1b0_0
        - gast=0.2.2=py37_0
        - google-pasta=0.2.0=pyhd3eb1b0_0
        - grpcio=1.42.0=py37hce63b2e_0
        - hdf5=1.10.6=h3ffc7dd_1
        - importlib-metadata=4.11.3=py37h06a4308_0
        - intel-openmp=2021.4.0=h06a4308_3561
        - itsdangerous=2.0.1=pyhd3eb1b0_0
        - keras-applications=1.0.8=py_1
        - keras-preprocessing=1.1.2=pyhd3eb1b0_0
        - ld_impl_linux-64=2.38=h1181459_1
        - libffi=3.3=he6710b0_2
        - libgcc-ng=11.2.0=h1234567_1
        - libgfortran-ng=11.2.0=h00389a5_1
        - libgfortran5=11.2.0=h1234567_1
        - libgomp=11.2.0=h1234567_1
        - libprotobuf=3.20.3=he621ea3_0
        - libstdcxx-ng=11.2.0=h1234567_1
        - libuv=1.48.0=h5eee18b_0
        - markdown=3.4.1=py37h06a4308_0
        - mkl=2021.4.0=h06a4308_640
        - mkl-service=2.4.0=py37h7f8727e_0
        - mkl_fft=1.3.1=py37hd3c417c_0
        - mkl_random=1.2.2=py37h51133e4_0
        - ncurses=6.4=h6a678d5_0
        - openssl=1.1.1t=h7f8727e_0
        - opt_einsum=3.3.0=pyhd3eb1b0_1
        - pip=22.1.2=py37h06a4308_0
        - protobuf=3.20.3=py37h6a678d5_0
        - python=3.7.13=h12debd9_0
        - pytorch=1.11.0=py3.7_cpu_0
        - pytorch-mutex=1.0=cpu
        - readline=8.2=h5eee18b_0
        - scipy=1.7.3=py37h6c91a56_2
        - setuptools=61.2.0=py37h06a4308_0
        - six=1.16.0=pyhd3eb1b0_1
        - sqlite=3.38.5=hc218d9a_0
        - termcolor=1.1.0=py37h06a4308_1
        - tk=8.6.14=h39e8969_0
        - wheel=0.37.1=pyhd3eb1b0_0
        - wrapt=1.14.1=py37h5eee18b_0
        - xz=5.4.6=h5eee18b_1
        - zipp=3.11.0=py37h06a4308_0
        - zlib=1.2.13=h5eee18b_1
        - pip:
            - aiohttp==3.8.4
            - aiosignal==1.3.1
            - antlr4-python3-runtime==4.9.3
            - async-timeout==4.0.2
            - asynctest==0.13.0
            - attrs==23.1.0
            - charset-normalizer==2.1.0
            - click==8.1.7
            - colorama==0.4.5
            - cycler==0.11.0
            - et-xmlfile==1.1.0
            - fitter==1.5.2
            - flask==2.2.5
            - fonttools==4.34.4
            - frozenlist==1.3.3
            - fsspec==2023.1.0
            - glog==0.3.1
            - h5py==3.8.0
            - idna==3.3
            - imageio==2.26.0
            - imbalanced-learn==0.10.1
            - imblearn==0.0
            - jinja2==3.1.2
            - joblib==1.2.0
            - kiwisolver==1.4.4
            - lightning-utilities==0.10.1
            - markupsafe==2.1.2
            - matplotlib==3.5.2
            - multidict==6.0.4
            - numpy==1.21.6
            - omegaconf==2.3.0
            - openpyxl==3.0.10
            - packaging==21.3
            - pandas==1.3.5
            - pillow==9.2.0
            - psutil==5.9.4
            - pydotplus==2.0.2
            - pyparsing==3.0.9
            - python-dateutil==2.8.2
            - python-gflags==3.1.2
            - pytorch-lightning==1.9.5
            - pytz==2022.1
            - pyyaml==6.0
            - requests==2.28.1
            - scikit-learn==1.0.2
            - seaborn==0.12.2
            - threadpoolctl==3.1.0
            - torchmetrics==0.11.4
            - tqdm==4.64.0
            - typing-extensions==4.3.0
            - urllib3==1.26.10
            - werkzeug==2.2.3
            - xlrd==2.0.1
            - xlwt==1.3.0
            - yarl==1.9.2
      prefix: /opt/conda/envs/alg_ncepu_env
      
      

      其中 entrypoint.sh 是入口腳本

      #!/bin/bash
      
      # 確保腳本在遇到錯誤時退出
      set -e
      
      # 初始化 Conda
      echo "Initializing Conda..."
      eval "$(/opt/conda/bin/conda shell.bash hook)"
      
      # 激活 Conda 環境
      echo "Activating Conda environment: alg_xxx_env"
      conda activate alg_xxx_env
      
      # 運行 Python 腳本并確保它們在后臺運行
      echo "Starting the Python scripts..."
      cd /app/
      
      # 使用 & 將所有 Python 腳本放入后臺
      python xxx.py &
      
      # 等待所有后臺進程完成
      wait
      
      echo "All scripts have completed."
      

      示例 4

      FROM golang:1.23-bookworm
      
      ENV GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
      
      # 設置工作目錄
      WORKDIR /app
      
      # 復制源代碼和相關文件
      COPY . .
      
      # 構建 Go 應用
      RUN go build -o myapp .
      
      # 暴露應用端口
      EXPOSE 5005
      
      # 運行應用
      CMD ["./myapp"]
      

      運行

      docker build -t xxx:1.0 .
      
      docker run -d \
      	--name xxx \
      	-p 25005:5005 \
      	-e TZ='Asia/Shanghai' \
      	xxx:1.0
      
      docker exec -it xxx /bin/bash
      

      OpenJDK 基礎鏡像

      Eclipse Temurin

      https://adoptium.net/zh-CN/temurin/releases/

      https://hub.docker.com/_/eclipse-temurin

      Eclipse Temurin 是由 Eclipse Adoptium 項目提供的 高質量、開源、兼容 OpenJDK 的 Java 運行時環境(JRE)和開發工具包(JDK) 的發行版本。

      特點:

      1. 開源、免費:基于 OpenJDK,完全開源,沒有許可證費用。
      2. 多平臺支持:支持 Linux、Windows、macOS、AIX 等主流平臺。
      3. 版本豐富:支持多個 Java 版本,如 Java 8、11、17、21 等 LTS 版本。
      4. 質量保障:每個構建都經過 Adoptium 的 AQAvit(質量驗證測試)。
      5. 與 OpenJDK 完全兼容:可放心替代 Oracle JDK。

      Ubuntu 基礎鏡像

      docker pull eclipse-temurin:21
      
      docker pull eclipse-temurin:21-jre-noble
      docker pull eclipse-temurin:21-jre-jammy
      
      docker pull eclipse-temurin:17-jre-noble
      docker pull eclipse-temurin:17-jre-jammy
      docker pull eclipse-temurin:17-jre-focal
      
      docker pull eclipse-temurin:8-jre-noble
      docker pull eclipse-temurin:8-jre-jammy
      docker pull eclipse-temurin:8-jre-focal
      
      docker pull eclipse-temurin:8u452-b09-jre-noble
      

      CentOS 基礎鏡像

      docker pull eclipse-temurin:17-jre-centos7
      docker pull eclipse-temurin:8-jre-centos7
      

      Alpine 基礎鏡像

      docker pull eclipse-temurin:21-jre-alpine
      docker pull eclipse-temurin:17-jre-alpine
      docker pull eclipse-temurin:8-jre-alpine
      

      UBI 鏡像

      docker pull eclipse-temurin:8u442-b06-jdk-ubi9-minimal
      docker pull eclipse-temurin:8u442-b06-jre-ubi9-minimal
      docker pull eclipse-temurin:8-jre-ubi9-minimal
      docker pull eclipse-temurin:8-jdk-ubi9-minimal
      

      Amazon Corretto

      Amazon Corretto 是開放 Java 開發工具包 (OpenJDK) 的免費、多平臺、生產就緒型發行版。

      Corretto 提供長期支持,其中包括性能增強和安全修復。

      亞馬遜在內部的數千種生產服務上運行 Corretto,并且 Corretto 已被證明能夠兼容 Java SE 標準。

      借助 Corretto,您可以在常用操作系統(包括 Linux、Windows 和 macOS)上開發和運行 Java 應用程序。

      https://hub.docker.com/_/amazoncorretto

      https://github.com/corretto/corretto-docker

      docker pull amazoncorretto:8-alpine-jre
      docker pull amazoncorretto:8
      
      docker pull amazoncorretto:17
      docker pull amazoncorretto:17-alpine
      
      docker pull amazoncorretto:21
      docker pull amazoncorretto:21-alpine
      

      Azul Zulu

      下載

      下載 Windows JDK8

      https://www.azul.com/downloads/?package=jdk#zulu

      Ubuntu 基礎鏡像

      docker pull azul/zulu-openjdk:21-jre-headless
      docker pull azul/zulu-openjdk:17-jre-headless
      docker pull azul/zulu-openjdk:8-jre-headless
      

      這些 Azul Zulu Build of OpenJDK 的 Docker 鏡像基于 Ubuntu,有不同的版本和特性,主要區別如下:

      1. 21-jre-headless-latest, 21.0.0-21.28.85-jre-headless, 21.0.1-21.30-jre-headless
        • JRE (Java Runtime Environment) 版本。
        • Headless:沒有圖形用戶界面 (GUI) 支持,適合服務器或沒有圖形環境的場景。
      1. 21-jdk-crac-latest, 21-jre-crac-latest
        • JDK (Java Development Kit) 版本,包含開發工具(如編譯器)。
        • CRaC (Checkpoints and Restoration at Checkpoint):支持檢查點和恢復功能,用于提升應用程序的恢復速度。
      1. 21-jre-latest, 21.0.0-21.28.85-jre, 21.0.1-21.30-jre
        • JRE 版本,適合運行 Java 應用程序。
        • 版本號的不同表示 Java 的版本更新。
      1. 21-latest, 21.0.0-21.28.85, 21.0.1-21.30, 21.0.1-21.30.15
        • 包含 JRE 和 JDK 版本。
        • Latest 表示最新穩定版本,其他版本號表示具體的發行版本或更新版本。

      總的來說,headless 版本適用于沒有 GUI 的環境,CRaC 版本支持檢查點和恢復,latest 表示最新版本,其他具體的版本號提供更詳細的版本信息。

      Debian 基礎鏡像

      docker pull azul/zulu-openjdk-debian:21-jre-headless
      docker pull azul/zulu-openjdk-debian:17-jre-headless
      docker pull azul/zulu-openjdk-debian:8-jre-headless
      

      CentOS 基礎鏡像

      docker pull azul/zulu-openjdk-centos:8-jre-headless
      
      docker pull azul/zulu-openjdk-centos:8u442-jre
      docker pull azul/zulu-openjdk-centos:8u442-jdk
      

      Alpine 基礎鏡像

      docker pull azul/zulu-openjdk-alpine:21-jre-headless
      docker pull azul/zulu-openjdk-alpine:17-jre-headless
      docker pull azul/zulu-openjdk-alpine:8-jre-headless
      

      BellSoft Liberica JDK

      https://bell-sw.com/pages/downloads/

      https://bell-sw.com/pages/libericajdk/

      適用于現代 Java? 部署的免費和 100% 開源漸進式 Java 運行時,由領先的 OpenJDK 貢獻者支持

      https://hub.docker.com/r/bellsoft/liberica-openjdk-debian

      https://hub.docker.com/r/bellsoft/liberica-openjre-debian

      docker pull bellsoft/liberica-openjre-debian:8
      docker pull bellsoft/liberica-openjre-debian:21
      

      Liberica JDK 容器鏡像的上下文中,CDS 代表 Class Data Sharing(類數據共享)

      CDS 是 Java 虛擬機(JVM)的一項優化技術,旨在 減少 Java 應用程序的啟動時間降低內存占用。它通過在多個 JVM 實例之間共享預編譯的類元數據來提高運行效率。

      Liberica JDK Rocky Linux 的容器鏡像中,帶有 CDS 標記的鏡像 預打包了 CDS 存檔,這意味著它已經包含了經過優化的類數據,能夠加快 Java 應用程序的啟動速度,特別適用于云環境和容器化部署。

      CDS 的優點:

      1. 更快的啟動時間:避免了 JVM 在每次啟動時都重新解析和加載類數據。
      2. 降低內存使用:多個 JVM 進程可以共享相同的類元數據,減少內存占用。
      3. 提高應用性能:減少了類加載的開銷,優化了執行效率。

      如果你需要使用帶有 CDS 優化的 Liberica JDK 容器鏡像,你可以選擇 帶有 cds 標記的版本,例如:

      FROM bellsoft/liberica-openjdk-rocky:21-cds
      

      這樣,你的應用程序就可以利用 CDS 技術來提升運行效率。

      https://bell-sw.com/blog/bellsoft-releases-container-images-with-liberica-jdk-for-rocky-linux/

      我們很高興地宣布發布適用于 Rocky Linux 的 Liberica JDK 容器鏡像!這些鏡像旨在替代 CentOS 的 Liberica JDK 鏡像。由于 CentOS Stream 8 將于 2024 年 5 月 31 日停止服務,我們決定為開發人員提供一組基于積極開發和社區支持的 Linux 發行版的 Java 應用程序 OCI 容器鏡像。

      Rocky Linux是一款流行的發行版,旨在與 Red Hat Enterprise Linux (RHEL) 100% 兼容。Rocky Linux 直接從 RHEL 重建源代碼;構建版本已準備好用于企業。發布時間表與 RHEL 的時間表一致,每年 5 月發布新的主要版本,每年 5 月和 11 月發布次要版本。

      請注意,隨著 Rocky Linux 的 Liberica JDK 鏡像的推出,BellSoft 的 CentOS 鏡像已被視為棄用。但如果您一直在使用 CentOS 基礎鏡像,則可以順利遷移到 Rocky。

      有兩個包含 Rocky Linux JVM 映像的存儲庫:Liberica JDKLiberica JRE。兩個存儲庫都包含適用于 x86_64 和 Aarch64 架構的 LTS JDK 版本(8、11、17、21)和最新非 LTS 版本(當前為 23)的映像。此外,還有帶有預打包 CDS 存檔的映像,旨在減少 Java 應用程序的啟動

      圖像名稱具有以下結構:X-Y,其中X是 Java 版本,Y是體系結構類型。具有 CDS 存檔的圖像還帶有 標記cds。如果未指定體系結構,則默認使用 x86_64 的圖像。

      例如,要使用 Liberica JDK 21 為 x86_64 上的 Rocky Linux 構建應用程序,請在 Dockerfile 中使用以下 FROM 指令:

      FROM bellsoft/liberica-openjdk-rocky:21
      

      IBM Semeru

      https://hub.docker.com/_/ibm-semeru-runtimes

      docker pull ibm-semeru-runtimes:open-8-jre-jammy
      docker pull ibm-semeru-runtimes:open-8-jre-focal
      
      docker pull ibm-semeru-runtimes:open-17-jre-focal
      docker pull ibm-semeru-runtimes:open-17-jre-jammy
      
      docker pull ibm-semeru-runtimes:open-21-jre-focal
      docker pull ibm-semeru-runtimes:open-21-jre-jammy
      

      Microsoft Build of OpenJDK

      https://www.microsoft.com/openjdk

      Free. Open Source. Freshly Brewed!

      下載 Microsoft Build of OpenJDK

      Microsoft Build of OpenJDK 是 OpenJDK 的一種免費分發版,它是開放源代碼,任何人都可將其免費部署到任意位置。

      它包括適用于 macOS、Linux 和 Windows 上 x64 服務器和桌面環境中的 Java 11 和 Java 17 的長期支持 (LTS) 二進制文件、適用于 Linux 和 Windows 上的 AArch64/ARM64 的長期支持二進制文件、適用于 Apple Silicon (AArch64/M1) 上 macOS 的二進制文件,以及適用于 x64 上 Alpine Linux 的 musl libc 編譯二進制文件。

      Microsoft Build of OpenJDK 二進制文件基于 OpenJDK 源代碼,遵循 Eclipse Adoptium 項目使用的相同生成腳本,并根據 Eclipse Adoptium 質量保證套件(包括 OpenJDK 項目測試)進行了測試。

      我們正式發布的二進制文件已通過 Java 技術兼容性工具包 (TCK) 的測試,該工具包用于驗證與 Java 規范的兼容性。

      Microsoft Build of OpenJDK 是 Java 生態系統中可用的任何其他 OpenJDK 分發版的普適性替代產品。

      Microsoft Build of OpenJDK 二進制文件可能包含我們認為對客戶和內部用戶很重要的向后移植修補程序和增強功能。

      其中一些可能尚未在上游正式向后移植,已在發行說明中明確標出。

      這使我們能夠加快改進和修復,同時繼續并行實現這些更改的上游化。

      更新是免費的,可供每個 Java 開發人員在任意位置部署。

      https://hub.docker.com/r/microsoft/openjdk-jdk

      docker pull mcr.microsoft.com/openjdk/jdk:21-ubuntu
      

      SapMachine

      https://hub.docker.com/_/sapmachine

      docker pull sapmachine:21-jre-ubuntu-jammy
      docker pull sapmachine:21-jre-ubuntu-focal
      
      docker pull sapmachine:17-jre-ubuntu-jammy
      docker pull sapmachine:17-jre-ubuntu-focal
      

      阿里巴巴龍井

      https://dragonwell-jdk.io/

      https://github.com/alibaba/dragonwell8

      騰訊 Kona

      https://cloud.tencent.com/product/tkjdk

      https://github.com/Tencent/TencentKona-8

      https://github.com/Tencent/TencentKona-17

      畢昇JDK

      https://www.openeuler.org/zh/other/projects/bishengjdk/

      ARM 上最好用的 JDK

      下載

      https://www.hikunpeng.com/developer/devkit/download/jdk

      posted @ 2025-06-15 11:53  ioufev  閱讀(91)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 在线天堂中文www官网| 欧美日产国产精品| 国产精品成人综合色在线| 视频免费完整版在线播放| 久久中文骚妇内射| 亚洲熟女精品一区二区| 小鲜肉自慰网站| 好紧好滑好湿好爽免费视频| 国产亚洲精品第一综合麻豆| 97久久综合亚洲色hezyo| 国产日韩精品一区二区三区在线| 国产av熟女一区二区三区| 久久99国产精品尤物| 成人精品一区日本无码网| 亚洲av无码牛牛影视在线二区 | 国厂精品114福利电影免费| 国产重口老太和小伙| 国产精品中文字幕av| 夜夜躁日日躁狠狠久久av| 91国内精品久久精品一本| 自拍偷在线精品自拍偷99| 欧洲亚洲国内老熟女超碰| 欧美视频精品免费覌看| 成人无码午夜在线观看| 成人精品一区二区三区四| 国产不卡一区二区在线视频| 亚洲精品久久一区二区三区四区| 国产永久免费高清在线观看| 国产成人精品久久一区二区| 国产人妻无码一区二区三区18| 性久久久久久| 国产精品第一页中文字幕| 精品一区二区成人精品| 韩国免费a级毛片久久| 欧美乱码卡一卡二卡四卡免费| 宫西光有码视频中文字幕| 一本本月无码-| 国产蜜臀av在线一区二区| 少妇人妻偷人精品免费| 四虎国产精品永久在线下载| 一区二区三区鲁丝不卡|