Dockerfile のイメージビルド時に rust-toolchain.toml を参照しないことについてメモ

前提

事象

  • Dockerfile で rust:latest を指定しているとたまに docker image のビルドに失敗する

原因について考える

  • おそらく rust-toolchain.toml の参照がされていない
  • Dockerfile の仕様としてディレクトリをマウントするタイミングがコンテナ作成のタイミングのため docker image のビルド中には rust-toolchain.toml が存在しない

解決方法

  • Dockerfile 内で以下を記述する
    COPY rust-toolchain.toml rust-toolchain.toml
  • 上記の方法の注意点として Dockerfile 自体が親ディレクトリ以上の階層を参照できないため build context などをいい感じに調整する必要がある

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA