4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Fargate PV 1.4でGitHub Packagesを使用するとCannotPullContainerErrorが発生する

Last updated at Posted at 2020-08-27

タスク起動時のエラーメッセージ

CannotPullContainerError: httpReaderSeeker: failed open: content at https://docker.pkg.github.com/v2/<username>/<reponame>/<image>/manifests/sha256:1840562644708320d81c1852b65a297d5ccf890e4a822a8aaca01axxxxxxxxxx not found: not found

原因

Open Container Initiative (OCI) によって定義されている コンテナイメージ配布の
標準仕様である HTTP API V2 を GitHub Packages が一部満たしていないことに起因し、
コンテナランタイムが Containerd の場合に、イメージの pull に失敗します。

回避策

プラットフォームバージョン 1.3 以下を利用するか、その他のレジストリサービスを使用する必要があります。

2020/9/2 追記
パブリックベータとして発表された GitHub Container Registry では上記の問題が解決されています。
https://github.blog/2020-09-01-introducing-github-container-registry/

補足

Fargate に限らず、Conitainerd で動作する環境全てで Github Pakcages から
イメージの pull ができません。
Fargate については プラットフォームバージョン 1.4 以降、 コンテナランタイムが
Docker Engine から Containerd に置き換わっため、上記不具合の影響を受けます。

詳細: Fargate データプレーン
https://aws.amazon.com/jp/blogs/news/under-the-hood-fargate-data-plane/

プラットフォームバージョン 1.3 以下は Docker Engine で実行するため
この問題の影響を受けません。

Containerd の GitHub レポジトリにこの問題の issue があがっています。
2019年5月に起票され、2020年8月時点で解決されていませんが、
Github Packages 側の修正は進んでおり、近日中に動きがありそうな状況は確認できます。

GitHub Container Registry の使用により事象が解消される旨記載され、issue もクローズになりました。

containerd can't pull image from Github Docker Package Registry #3291
https://github.com/containerd/containerd/issues/3291

簡単ですが、以上です。
参考になれば幸いです。

4
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?