Open6

raspberry pi + docker + alpine で apk が動かなくなる問題

Masayuki SunaharaMasayuki Sunahara

raspberry pi 3 bでdockerを動かしていて、コンテナからi2cにアクセスしたかったので、 apk update && apk add i2c-tools した。
が、動かなかった。

fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/armv7/APKINDEX.tar.gz
ERROR: https://dl-cdn.alpinelinux.org/alpine/v3.14/main: temporary error (try again later)
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/main: No such file or directory
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/armv7/APKINDEX.tar.gz
ERROR: https://dl-cdn.alpinelinux.org/alpine/v3.14/community: temporary error (try again later)
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.14/community: No such file or directory
2 errors; 14 distinct packages available
The command '/bin/sh -c apk update' returned a non-zero code: 2

みたいな感じで。

Masayuki SunaharaMasayuki Sunahara

Raspberry PiのDocker環境でAlpine Linuxイメージ(3.13以降)を使用する際の注意点
を見つけた。
この記事の通り、docker run--security-opt=seccomp=unconfined オプションを付けることで、コンテナ内に入って apk update はできるようになった。

Masayuki SunaharaMasayuki Sunahara

が、いろいろ試した限り docker build (Dockerfile に書いた RUN apk update) にはこの解決方法が適用できなかった。

Masayuki SunaharaMasayuki Sunahara

途中諦めて、他のイメージで手を打とうかと思ったが、ひとまず解決できてよかった。
これから他の問題にぶつかるかもだけど。