Copie o arquivo para o volume do Docker no contexto do Azure

Nov 24 2020

Eu executo esses comandos do docker localmente para copiar um arquivo para um volume, isso funciona bem:

docker container create --name temp_container -v temp_vol:/target hello-world
docker cp somefile.txt temp_container:/target/.

Agora quero fazer o mesmo, mas com volumes localizados no Azure. Eu tenho uma imagem azureimageque enviei e está localizada no Azure e preciso acessar do contêiner um volume com um arquivo que tenho em meu disco local.

Posso criar o volume em um contexto do Azure como:

docker context use azaci
docker volume create test-volume --storage-account mystorageaccount

Mas quando tento copiar um arquivo para o volume apontado por um contêiner:

docker context use azaci
docker container create --name temp_container2 -v test-volume:/target azureimage
docker cp somefile.txt temp_container2:/target/.

Eu percebi que os comandos container e copy não podem ser executados no contexto do Azure:

O comando "container" não está disponível no contexto atual (azaci), você pode usar o contexto "padrão" para executar este comando

O comando "cp" não está disponível no contexto atual (azaci), você pode usar o contexto "padrão" para executar este comando

Como copiar um arquivo do meu disco local para o volume no contexto do Azure? Tenho que carregá-lo primeiro no Azure? Tenho que copiá-lo para o compartilhamento de arquivos?

Respostas

1 CharlesXu Nov 25 2020 at 08:11

Como eu sei, quando você monta o Compartilhamento de Arquivos do Azure para a ACI, deve carregar os arquivos no Compartilhamento de Arquivos e os arquivos existirão na instância de contêiner que você montou. Você pode usar o comando da CLI do Azure az storage file uploadou AzCopy para carregar os arquivos.

O comando docker cpvisa copiar arquivos / pastas entre um container e o sistema de arquivos local. Mas o compartilhamento de arquivos está no armazenamento do Azure, não local. E o contêiner também está na ACI do Azure.