azure - 在 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 上下文中执行:
命令“容器”在当前上下文中不可用(azaci),您可以使用“默认”上下文运行此命令
命令“cp”在当前上下文中不可用(azaci),您可以使用“默认”上下文运行此命令
如何将文件从本地磁盘复制到 Azure 上下文中的卷?我必须先将其上传到 Azure 吗?我必须将其复制到文件共享吗?
解决方案
据我所知,当您将 Azure 文件共享挂载到 ACI 时,您应该将文件上传到文件共享中,这些文件将存在于您挂载的容器实例中。可以使用 Azure CLI 命令az storage file upload
或AzCopy上传文件。
该命令docker cp
旨在在容器和本地文件系统之间复制文件/文件夹。但文件共享位于 Azure 存储中,而不是本地。并且容器也在 Azure ACI 中。