Apple Silicon Docker ではChromeが動かない

  • Docker Desktop for Apple silicon では linux/amd64 なDockerイメージではGoogle Chromeが動かない
    • QEMUのバイナリエミュレーションが完璧では無くcore dumpする
    • arm64 Linux向けのGoogle Chromeは存在しない

M1 mac上のDockerコンテナ内でChromiumを動かそうとしてやったこと&やろうとしてること - savanna blog

これに対する解決策としては本記事でも紹介されている通り、Chromium を使うで問題ないと思っている。

docker buildx secret オプション

下記の通り docker buildx build には --secretオプションがあり、ファイルや環境変数をイメージに渡すことができる(コンテナにはsecret情報は残らない)。

$ SECRET_TOKEN=token docker buildx build --secret id=SECRET_TOKEN .

下記のように Dockerfile で設定すると RUN xxxxx のコマンド実行時だけ SECRET_TOKEN の環境変数が渡るようになる。

# syntax=docker/dockerfile:1.4
FROM node:alpine
RUN --mount=type=bind,target=. \
  --mount=type=secret,id=SECRET_TOKEN \
  SECRET_TOKEN=$(cat /run/secrets/SECRET_TOKEN) yarn run test

docker buildx build | Docker Documentation

参考