AzureコンテキストでファイルをDockerボリュームにコピーする
これらのdockerコマンドをローカルで実行して、ファイルをボリュームにコピーします。これは正常に機能します。
docker container create --name temp_container -v temp_vol:/target hello-world
docker cp somefile.txt temp_container:/target/.
同じことをしたいのですが、ボリュームはAzureにあります。azureimage
プッシュしたイメージがあり、Azureにあります。コンテナーから、ローカルディスクにあるファイルのあるボリュームにアクセスする必要があります。
次のように、Azureコンテキストでボリュームを作成できます。
docker context use azaci
docker volume create test-volume --storage-account mystorageaccount
しかし、コンテナが指すボリュームにファイルをコピーしようとすると、次のようになります。
docker context use azaci
docker container create --name temp_container2 -v test-volume:/target azureimage
docker cp somefile.txt temp_container2:/target/.
コンテナーコマンドとコピーコマンドをAzureコンテキストで実行できないことがわかりました。
コマンド「container」は現在のコンテキスト(azaci)では使用できません。「default」コンテキストを使用してこのコマンドを実行できます
コマンド「cp」は現在のコンテキスト(azaci)では使用できません。「default」コンテキストを使用してこのコマンドを実行できます
Azureコンテキストでローカルディスクからボリュームにファイルをコピーするにはどうすればよいですか?最初にAzureにアップロードする必要がありますか?ファイル共有にコピーする必要がありますか?
回答
私が知っているように、Azureファイル共有をACIにマウントするときは、ファイルをファイル共有にアップロードする必要があります。ファイルは、マウントするコンテナーインスタンスに存在します。Azure CLIコマンドaz storage file uploadまたはAzCopyを使用して、ファイルをアップロードできます。
このコマンドdocker cp
は、コンテナーとローカルファイルシステムの間でファイル/フォルダーをコピーすることを目的としています。ただし、ファイル共有はローカルではなくAzureストレージにあります。また、コンテナーはAzureACIにもあります。