メインコンテンツへスキップ

docker-compose.ymlをターゲットにdocker buildx buildした時にlocalのベースイメージが使えない

· loading · loading ·
kiitosu
著者
kiitosu
画像処理やデバイスドライバ、データ基盤構築からWebバックエンドまで、多様な領域に携わってきました。地図解析や地図アプリケーションの仕組みにも経験があり、幅広い技術を活かした開発に取り組んでいます。休日は草野球とランニングを楽しんでいます。
目次

概要
#

docker buildx build -f docker-compose.yml でビルドしたいが、localのdocker desktopに保存されたイメージを取りに行ってくれない。ローカルでレジストリサーバーを立てるしか無いのかも。

2024/03/18 追記 dockerのdriverがdocker-containerになっていたからだった。 dockerに変更したらビルドできた。 https://docs.docker.com/build/drivers/

エラーコード
#

--------------------
   1 | >>> FROM my-python:latest
--------------------
ERROR: failed to solve: my-python:latest: failed to resolve source metadata for docker.io/library/my-python:latest: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

docker.io/library/ を見に行ってしまっていて、docker desktopに保存されたイメージを使っていないことがわかる。

docker-compose.yml
#

version: "3.9"

services:
  my-app:
    build:
      context: .
      dockerfile: Dockerfile.my-app

ビルドコマンド
#

docker buildx build -t my-python:latest --file ./Dockerfile.my-python . --load
docker buildx bake -f ./docker-compose.yml

–loadをつけることでdocker desktopにイメージが登録される。

docker buildx build –help によると–output type=docker と同じ。

Dockerfile.my-python
#

FROM python:alpine3.19

Dockerfile.my-app
#

FROM my-python:latest

調べた情報
#

docker-composeのせいではないよ!って言っているissueでclose済み https://github.com/docker/compose/issues/9939

同じ症状の話でまだopen https://github.com/docker/cli/issues/3286

参考書籍
![開発系エンジニアのためのDocker絵とき入門](https://m.media-amazon.com/images/I/71qlL5e1FuL.SY342.jpg =200x)
Reply by Email

関連記事

gRPC - connect - Render でwebサービスを作ってみる:開発テンプレート完成
· loading · loading
Dockerとkubernetesをlocalで一緒に使ってみた
· loading · loading
VSCode拡張開発でモジュールロードエラーを解決する
· loading · loading