AzureコンテキストでファイルをDockerボリュームにコピーする

Nov 24 2020

これらの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にアップロードする必要がありますか?ファイル共有にコピーする必要がありますか?

回答

1 CharlesXu Nov 25 2020 at 08:11

私が知っているように、Azureファイル共有をACIにマウントするときは、ファイルをファイル共有にアップロードする必要があります。ファイルは、マウントするコンテナーインスタンスに存在します。Azure CLIコマンドaz storage file uploadまたはAzCopyを使用して、ファイルをアップロードできます。

このコマンドdocker cpは、コンテナーとローカルファイルシステムの間でファイル/フォルダーをコピーすることを目的としています。ただし、ファイル共有はローカルではなくAzureストレージにあります。また、コンテナーはAzureACIにもあります。