k.sato
2025年1月24日 13時18分
佐藤と申します。
お世話になっております。
VirtualBox Oracle VM VirtualBox 7.0.22
ATDE9 atde9-amd64-20240925.ova
Alpine Linuxルートファイルシステムビルドツール build-rootfs-v3.18-at.10
上記の環境で作業しています。
●ライブラリが見つからないエラー
https://armadillo.atmark-techno.com/forum/armadillo/14009#comment-12363
上記を参考に下記を行ったのですが
$ tar xf build-rootfs-v3.16-at.7.tar.gz $ cd build-rootfs-v3.16-at.7/submodules/containers $ sudo ./build.sh ...
atmark@atde9:~/build-rootfs-v3.18-at.10/submodules/containers$ sudo ./build.sh [sudo] atmark のパスワード: Sending build context to Docker daemon 5.12kB Step 1/9 : ARG arch=amd64 Step 2/9 : ARG version=3.15 Step 3/9 : FROM docker.io/${arch}/alpine:${version} ---> 221b68f97ccb Step 4/9 : RUN apk update && apk upgrade && apk add alpine-sdk && rm -f /var/cache/apk/* ---> Using cache ---> d22ba0dc55a3 Step 5/9 : RUN adduser -D builder && adduser builder abuild ---> Using cache ---> a30338176c0b Step 6/9 : ARG at_version ---> Using cache ---> cb90464092a2 Step 7/9 : RUN sed -i -e "1i@atmark http://download.atmark-techno.com/alpine/v${at_version}/atmark" -e "1ihttp://download.atmark-techno.com/alpine/v${at_version}/atmark" /etc/apk/repositories ---> Using cache ---> 7bbf3c813eca Step 8/9 : COPY atmark-601a0e69.rsa.pub /etc/apk/keys/ ---> Using cache ---> b635430d594b Step 9/9 : COPY atmark-62b116af.rsa.pub /etc/apk/keys/ ---> Using cache ---> 3e18364e0436 Successfully built 3e18364e0436 Successfully tagged alpine-3.18-x86_64:latest Sending build context to Docker daemon 5.12kB Step 1/9 : ARG arch=amd64 Step 2/9 : ARG version=3.15 Step 3/9 : FROM docker.io/${arch}/alpine:${version} 3.18: Pulling from arm32v7/alpine no matching manifest for linux/amd64 in the manifest list entries Sending build context to Docker daemon 5.12kB Step 1/9 : ARG arch=amd64 Step 2/9 : ARG version=3.15 Step 3/9 : FROM docker.io/${arch}/alpine:${version} 3.18: Pulling from arm64v8/alpine no matching manifest for linux/amd64 in the manifest list entries
atmark@atde9:~/build-rootfs-v3.18-at.10/submodules/containers$ sudo docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE alpine-3.18-x86_64 latest 3e18364e0436 2 hours ago 263MB amd64/alpine 3.18 221b68f97ccb 2 weeks ago 7.36MB
上記のように「alpine-3.18-armv7」のイメージが表示されません。
何がおかしいのでしょうか?
以上、よろしくお願い致します。
コメント
k.sato
山崎様
佐藤です。
返信が遅くなり申し訳ございません。
> arch の指定方法に変更があったため、こちらの対応が必要です。
> お手数をおかけして申し訳ありませんが、現在の最新版である build-rootfs-v3.20-at.7.tar.gz をご使用いただくか、
> もしくは build.sh をご使用のディレクトリに入れ替えて実行していただけますでしょうか?
> 入れ替えて実行する場合の手順は以下になります。
> wget https://armadillo.atmark-techno.com/files/downloads/armadillo-640/tool/build-rootfs-v3.20-at.7.tar.gz > tar xf build-rootfs-v3.20-at.7.tar.gz > cp build-rootfs-v3.20-at.7/submodules/containers/build.sh <ご使用の build-rootfs ディレクトリのパス>/submodules/containers/build.sh > cd <ご使用の build-rootfs ディレクトリのパス>/submodules/containers/ > ./build.sh
> そのあと "podman images" を実行すると "localhost/alpine-3.20-armv7" が現れると思います。
> 上記確認できた場合は "docker" コマンドは "podman" コマンドに置き換えてご使用いただくのが良いと思います。
/build-rootfs-v3.18-at.10/submodules/containersのbuild.shをbuild-rootfs-v3.20-at.7
のbuild.shに差し替え
./build.sh
を実行しました。
atmark@atde9:~/build-rootfs-v3.18-at.10/submodules/containers$ sudo podman image ls REPOSITORY TAG IMAGE ID CREATED SIZE localhost/alpine-3.20-aarch64 latest 0e6f8e3f880a 3 days ago 236 MB localhost/alpine-3.20-armv7 latest 4cb183c9e97c 3 days ago 162 MB localhost/alpine-3.20-x86_64 latest d46c952356d0 3 days ago 246 MB docker.io/amd64/alpine 3.20 e29df9b510ff 2 weeks ago 8.09 MB docker.io/arm32v7/alpine 3.20 f92558a1b22b 2 weeks ago 5.4 MB docker.io/arm64v8/alpine 3.20 f4194d9e8c10 2 weeks ago 9.12 MB
このようにalpine-3.20-armv7
が表示されるのですが、v3.18-at.10のディレクトリへコピーしてもこうなるのが正しいのでしょうか?
また、VSCodeで作成するpythonプロジェクトのDockerfileでFROM docker.io/${ARCH}/alpine:3.18
を指定していたのですが、
上記のようにalpine-3.20-armv7
の環境となってしまうとDockerfileのバージョンも合わせなければならないものなのでしょうか?
以上、よろしくお願い致します。
at_dominique.m…
横からすみません、マルティネです。
> このようにalpine-3.20-armv7
が表示されるのですが、v3.18-at.10のディレクトリへコピーしてもこうなるのが正しいのでしょうか?
containersディレクトリの build.sh を実行すると build-rootfs からコピーしたプロジェクトのバージョンがビルドされますが、build_rootfs.sh から実行すると必要な 3.18 バージョンもビルドされるはずですので 3.20 のイメージを無視(あるいは削除)してもいいです。
> また、VSCodeで作成するpythonプロジェクトのDockerfileでFROM docker.io/${ARCH}/alpine:3.18
を指定していたのですが、
> 上記のようにalpine-3.20-armv7
の環境となってしまうとDockerfileのバージョンも合わせなければならないものなのでしょうか?
alpine 3.18 はもう今年の5月でメインテナンスが切れますので理想と言えば更新していただくことを推奨しますが(rootfsの方も)、VSCode プロジェクトで使うコンテナと build-rootfs で使うコンテナと関係ありませんので、アップデートのタイミングは別でも問題ありません。
ただし、vscode プロジェクトでコンテナをビルドする際に今回の「no matching manifest for linux/amd64 in the manifest list entries」エラーも発生する可能性があります(dockerhub のイメージの変更によるエラーですので)。
エラーが発生する場合は同じく vscode project のスクリプトの更新が必要になると思いますので、その際にまた問い合わせください。
よろしくお願いします
at_reika.yamazaki
2025年1月24日 17時46分
お世話になっております。山崎です。
arch の指定方法に変更があったため、こちらの対応が必要です。
お手数をおかけして申し訳ありませんが、現在の最新版である build-rootfs-v3.20-at.7.tar.gz をご使用いただくか、
もしくは build.sh をご使用のディレクトリに入れ替えて実行していただけますでしょうか?
入れ替えて実行する場合の手順は以下になります。
そのあと "podman images" を実行すると "localhost/alpine-3.20-armv7" が現れると思います。
上記確認できた場合は "docker" コマンドは "podman" コマンドに置き換えてご使用いただくのが良いと思います。
以上、どうぞよろしくお願いいたします。