Azure Container Registryを利用してDockerfileからイメージのビルドとプッシュをしようとしたが、エラーが出る。

Tsutsumi, Ruiko 0 評価のポイント
2024-12-24T01:35:51.9766667+00:00

Learnの下記のページの演習問題で、ローカルにDockerfileを作って、Azureのコンテナーレジストリを使用してDockerfileからイメージのビルドとプッシュをしようとしているのですが、できません。

https://zcusa.951200.xyz/ja-jp/training/modules/publish-container-image-to-azure-container-registry/6-build-run-image-azure-container-registry

「Dockerfile からのイメージのビルドとプッシュ」の2.の行程でDockerfileが見つからないというエラーが出ます。

スクリーンショット 2024-12-24 102248

ローカルのDockerfileは以下の場所にあります。

スクリーンショット 2024-12-24 103345

ご助言をお願いいたします。

Azure
Azure
Microsoft が管理する世界のデータ センター ネットワークを介してアプリケーションとサービスを構築、配置、および管理するインフラストラクチャおよびクラウド コンピューティング プラットフォーム。
499 件の質問
{count} 件の投票

2 件の回答

並べ替え方法: 最も役に立つ
  1. zaamasu 1,406 評価のポイント
    2024-12-24T06:02:52.77+00:00

    はじめまして。
    上記について、パッと見たところですが、コンソールのカレントディレクトリがDockerfileが配置されている "C:\Users\mydir" になっている必要があるかもしれません。
    もしも未済であれば、お試しいただければです。

    0 件のコメント コメントはありません

  2. チャブーン 1,706 評価のポイント MVP
    2024-12-25T05:37:48.51+00:00

    チャブーンです。

    この件ですが、ちょっと説明がいりそうですね?

    まず、以下の資料ですが、前提として Azure Cloud Shellという仮想的な作業場所での「閉域作業」であることを、理解いただくといいかしらと。

    https://zcusa.951200.xyz/ja-jp/training/modules/publish-container-image-to-azure-container-registry/6-build-run-image-azure-container-registry

    Azure Cloud Shellは、Azure Portalの向こう側にある仮想的なLinux環境(bashであれば)のため、ローカルのWindowsマシンとは全くつながっていません。したがって、Windows上でどんなローカルフォルダーを切ろうが、dockerfileを作成しようが無関係ですし、Azure Cloud Shellにマップすることはできません。

    echo FROM mcr.microsoft.com/hello-world > Dockerfile
    

    このコマンドを、ローカルのWindows上で実行しては「いけません」。Azure Cloud Shell上で実行してください。すると、/home/~ (これはログインユーザーのホームディレクトリを指します)に、dockerfile ができているはずです。以下のコマンドを実行してください。

    ls
    

    dockerfileがあるはずです。もしない、という場合、別のディレクトリで作ってしまったことが原因だと思いますので、探すのは大変ということなら、dockerfileが存在するべきディレクトリに「移動」するコマンドを加えて、再度実行しましょう。

    cd /home/~
    echo FROM mcr.microsoft.com/hello-world > Dockerfile
    ls
    

    今度はdockerfileがあるはずです。これで、普通に考えればうまくいくと思います。

    もしそうではなくて、「ローカルWindows上にDocker開発環境がある」ということなら、その環境を正確に教えてくださいね。

    追記: Azure Cloud Shellをローカル環境で実施する方法があるようです。これをやれば、ローカルフォルダーをAzure Cloud Shellの一部として実行できそうですね。

    https://techcommunity.microsoft.com/blog/itopstalkblog/how-to-setup-and-run-azure-cloud-shell-locally/1840528

    0 件のコメント コメントはありません

お客様の回答

回答は、質問作成者が [承諾された回答] としてマークできます。これは、ユーザーが回答が作成者の問題を解決したことを知るのに役立ちます。