首页 > 解决方案 > 在 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 吗?我必须将其复制到文件共享吗?

标签: azuredockerdocker-composeazure-container-instances

解决方案


据我所知,当您将 Azure 文件共享挂载到 ACI 时,您应该将文件上传到文件共享中,这些文件将存在于您挂载的容器实例中。可以使用 Azure CLI 命令az storage file uploadAzCopy上传文件。

该命令docker cp旨在在容器和本地文件系统之间复制文件/文件夹。但文件共享位于 Azure 存储中,而不是本地。并且容器也在 Azure ACI 中。


推荐阅读