亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

一種在x86架構主機上制作arm架構Docker鏡像的方法

2023-10-11 11:25:35
333
0
本文主要介紹如何在x86機器上模擬arm架構指令來構建arm架構的鏡像。
 

問題

通常,我們在x86架構的主機上制作x86架構的Docker鏡像,在arm架構主機上制作arm架構的Docker鏡像。這樣會存在一個問題,非常浪費資源,如果需要制作什么架構的Docker鏡像,就需要什么架構的主機。那么可以在最流行的x86架構主機上制作其它架構的Docker鏡像嗎?答案是肯定的,下面將詳細描述在x86架構主機上制作arm架構Docker鏡像的詳細方案。

實現思想


因為x86架構的主機上無法執行arm架構上的指令,所以需要一個模擬仿真軟件能把arm架構上的指令解釋為x86架構主機上能夠執行的指令。這里選擇了multiarch/qemu-user-static工具來實現在x86主機上模擬arm環境。

制作arm架構Docker鏡像


這里為了更加形象和具體的闡述制作arm架構Docker鏡像的過程,就是基于centos的jdk鏡像為例講述。

首先,需要在x86架構主機上執行如下命令,開啟x86架構環境上仿真arm架構環境。
 
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes


其次,下載arm架構版的oracle jdk或者openjdk,在參考鏈接章節可以找到下載地址。

再次,編寫Dockerfile內容,如下
 
FROM centos:centos7.9.2009@sha256:864a7acea4a5e8fa7a4d83720fbcbadbe38b183f46f3600e04a3f8c1d961ed87

# add jdk
ADD jdk-8u371-linux-aarch64.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_371
ENV PATH ${PATH}:${JAVA_HOME}/bin
 
這里需要注意的是dockerhub上centos的官方鏡像已經下架了arm架構的鏡像。

然后,執行鏡像構建命令
 
docker build localhost/arm64v8-jdk:8u371 .
 
這里需要注意的是jdk-8u371-linux-aarch64.tar.gz文件需要和Dockerfile文件同目錄。

最后,驗證是否arm架構鏡像制作是否成功。
 
# 進入容器里面
docker run -it localhost/arm64v8-jdk:8u371 /bin/bash

# 查看架構
uname -m

# 查看是否有javac命令
javac

# 查看是否有java命令
java
0條評論
0 / 1000
y****n
4文章數
0粉絲數
y****n
4 文章 | 0 粉絲
原創

一種在x86架構主機上制作arm架構Docker鏡像的方法

2023-10-11 11:25:35
333
0
本文主要介紹如何在x86機器上模擬arm架構指令來構建arm架構的鏡像。
 

問題

通常,我們在x86架構的主機上制作x86架構的Docker鏡像,在arm架構主機上制作arm架構的Docker鏡像。這樣會存在一個問題,非常浪費資源,如果需要制作什么架構的Docker鏡像,就需要什么架構的主機。那么可以在最流行的x86架構主機上制作其它架構的Docker鏡像嗎?答案是肯定的,下面將詳細描述在x86架構主機上制作arm架構Docker鏡像的詳細方案。

實現思想


因為x86架構的主機上無法執行arm架構上的指令,所以需要一個模擬仿真軟件能把arm架構上的指令解釋為x86架構主機上能夠執行的指令。這里選擇了multiarch/qemu-user-static工具來實現在x86主機上模擬arm環境。

制作arm架構Docker鏡像


這里為了更加形象和具體的闡述制作arm架構Docker鏡像的過程,就是基于centos的jdk鏡像為例講述。

首先,需要在x86架構主機上執行如下命令,開啟x86架構環境上仿真arm架構環境。
 
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes


其次,下載arm架構版的oracle jdk或者openjdk,在參考鏈接章節可以找到下載地址。

再次,編寫Dockerfile內容,如下
 
FROM centos:centos7.9.2009@sha256:864a7acea4a5e8fa7a4d83720fbcbadbe38b183f46f3600e04a3f8c1d961ed87

# add jdk
ADD jdk-8u371-linux-aarch64.tar.gz /usr/local/
ENV JAVA_HOME /usr/local/jdk1.8.0_371
ENV PATH ${PATH}:${JAVA_HOME}/bin
 
這里需要注意的是dockerhub上centos的官方鏡像已經下架了arm架構的鏡像。

然后,執行鏡像構建命令
 
docker build localhost/arm64v8-jdk:8u371 .
 
這里需要注意的是jdk-8u371-linux-aarch64.tar.gz文件需要和Dockerfile文件同目錄。

最后,驗證是否arm架構鏡像制作是否成功。
 
# 進入容器里面
docker run -it localhost/arm64v8-jdk:8u371 /bin/bash

# 查看架構
uname -m

# 查看是否有javac命令
javac

# 查看是否有java命令
java
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0