buddying-inc / docker-container

GitHub Container Registry
0 stars 0 forks source link

Multi architecture #140

Closed apple-x-co closed 1 year ago

apple-x-co commented 1 year ago

remiが入らず断念.


https://www.sria.co.jp/blog/2023/06/7308/

M1やM2チップ搭載のMacを使う人とそうでないPCを使う人が共同で同じDockerイメージを使って開発をする場合、 ホストマシン間の命令セットアーキテクチャーの違いでDockerコンテナが作成できなかったりする問題が発生することがあります。

例えば、Macに搭載されているApple SiliconがARM64アーキテクチャーで動いている一方で、 それ以外のPCでAMDやIntel製のx86_64アーキテクチャーのプロセッサー (RyzenやIntel Coreシリーズ) を使用している状況です。

Docker Hubから配布されているイメージで両方のアーキテクチャーをサポートしているものを そのまま利用してる場合などではこのような問題は起きないでしょう。

しかし例えば以下のDockerfileのようにRemiのPHPを利用している場合は、x86_64アーキテクチャーのホストではうまく動作しますが、ARM64アーキテクチャーのマシンでは以下のようなエラーで止まってしまいます。

https://mirror.docker.ru/remi/enterprise/7/php74/aarch64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found Trying other mirror. http://remirepo.reloumirrors.net/enterprise/7/php74/aarch64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found Trying other mirror. https://mirror.dk.team.blue/remi/enterprise/7/php74/aarch64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found Trying other mirror. http://ftp.arnes.si/mirrors/remi/enterprise/7/php74/aarch64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found Trying other mirror. https://mirror.netsite.dk/remi/enterprise/7/php74/aarch64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found Trying other mirror.