Skopiuj plik do woluminu Docker w kontekście platformy Azure

Nov 24 2020

Uruchamiam te polecenia dockera lokalnie, aby skopiować plik na wolumin, działa to dobrze:

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

Teraz chcę zrobić to samo, ale z woluminami znajdującymi się na platformie Azure. Mam obraz, azureimagektóry umieściłem i znajduje się na platformie Azure, i muszę uzyskać dostęp z kontenera do woluminu z plikiem, który mam na dysku lokalnym.

Mogę utworzyć wolumin w kontekście platformy Azure, takim jak:

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

Ale kiedy próbuję skopiować plik do woluminu wskazanego przez kontener:

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

Rozumiem, że polecenia kontenera i kopiowania nie mogą być wykonywane w kontekście Azure:

Polecenie „kontener” nie jest dostępne w bieżącym kontekście (azaci), można użyć kontekstu „domyślnego”, aby uruchomić to polecenie

Polecenie „cp” nie jest dostępne w bieżącym kontekście (azaci), do uruchomienia tego polecenia można użyć kontekstu „domyślnego”

Jak skopiować plik z dysku lokalnego na wolumin w kontekście platformy Azure? Czy muszę najpierw przesłać go na platformę Azure? Czy muszę go skopiować do udziału plików?

Odpowiedzi

1 CharlesXu Nov 25 2020 at 08:11

Jak wiem, po zamontowaniu udziału plików Azure w ACI należy przesłać pliki do udziału plików, a pliki będą istnieć w zamontowanym wystąpieniu kontenera. Możesz użyć polecenia Azure CLI az storage file uploadlub AzCopy, aby przekazać pliki.

Polecenie docker cpma na celu skopiowanie plików / folderów między kontenerem a lokalnym systemem plików. Ale udział plików znajduje się w usłudze Azure Storage, a nie lokalnie. Kontener jest również w usłudze Azure ACI.