Docker hub からイメージを pull する時、CPUのアーキテクチャを指定する。
Docker hub にて、イメージを選択した時に出てくる、この項目。
気になって調べてみたら、pull する時、イメージのCPUアーキテクチャを指定する事ができるみたいです。
参考までに、Docker のマニュアル(docker pull)が、こんな感じになってます。
https://docs.docker.com/engine/reference/commandline/pull/
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
TAG を指定する方法の他に、DIGEST を指定する方法もあるみたいです。
DIGESTを指定して pull する時、こんな感じなります。
docker pull php@sha256:84311597ecddef820dfab8893acbcdc1f1b3b545decfedf791aa7b99429206df
「:」ではなく「@」を使い、「sha256~」のあたりから書き始めます。
試しに、php:7.4.7-fpm-buster の各種アーキテクチャで実験してみました。
docker-compose.yml
version: '3'
services:
# linux/amd64
app01:
image: php@sha256:cf3f0f13f1726595bdee10ece07c788b54e3f491817ae1b274931d5520af2d47
# linux/ppc64le
app02:
image: php@sha256:89a021692e04f3e88a574e918ecf2b620465d70f936ab9d2cd17cdf99bf8cd87
# linux/386
app03:
image: php@sha256:5846a11aa9541b93c07160af0359a2650842e914f2e23a0f77c123945b0670bf
# linux/s390x
app04:
image: php@sha256:250e769a4d0eb7502e7aa73d7c5151129f6a07931467ba16b4c930f2ba942d2c
# linux/arm/v7
app05:
image: php@sha256:84311597ecddef820dfab8893acbcdc1f1b3b545decfedf791aa7b99429206df
# linux/arm64/v8
app06:
image: php@sha256:a8a5be3677f3e25dde3cb9b528535b8493d9c4a4e99b7a56d622e5638c7c307b
# linux/arm/v5
app07:
image: php@sha256:8e95f90bba6652bb5a42291a46a17923dcadd6cabf69fda594aba1be2a9b6555
以下、コンテナの中に入って、arch コマンドでアーキテクチャを出力した時の内容です。
#linux/amd64
x86_64
# linux/ppc64le
ppc64le
# linux/386
x86_64
# linux/s390x
s390x
# linux/arm/v7
armv7l
# linux/arm64/v8
aarch64
# linux/arm/v5
armv7l
マニュアルを読んでも、DIGEST は、「イメージの一意の値を表すもの」という表現しかなく、CPU については触れていないので、ちょっと分かりづらい気がする。
Author And Source
この問題について(Docker hub からイメージを pull する時、CPUのアーキテクチャを指定する。), 我々は、より多くの情報をここで見つけました https://qiita.com/kakisoft/items/dccff592ff7bfeb5bc48著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .