如何通过 docker CLI / quickstart 终端制作 Azure VM 和配置容器以使用 Azure 文件存储?

How to make an Azure VM & configure containers to use Azure File Storage via docker CLI / quickstart terminal?

我正在使用最新的 Docker 工具箱,我想在 Azure 上启动连接到 Azure 文件存储的 docker 容器。 运行 应该如何从 docker 快速启动终端实现这一点?

最简单的方法是创建一个 Ubuntu VM,并在 Azure 上预安装 Docker:

https://azure.microsoft.com/en-us/blog/introducing-docker-in-microsoft-azure-marketplace/

然后按照此处的 Azure 文件系统 Docker 卷驱动程序安装说明进行操作:

https://github.com/Azure/azurefile-dockervolumedriver/blob/master/contrib/init/systemd/README.md

一旦您可以在该 VM 上成功创建卷,您可以将它们设为共享卷或数据卷容器以在 Docker 个容器之间共享它们:

https://docs.docker.com/engine/tutorials/dockervolumes/

For more generic instructions, please use @rbj325's answer

创建docker-机器

首先,我们需要一个可以使用的 Azure VM。我们可以使用 docker-machine cli 来创建它。这组说明将使用 ubuntu 16.04LTS 创建它以简化(大概)安装步骤。

docker-machine create --driver azure --azure-subscription-id XXXX \
--azure-location westeurope --azure-resource-group XXX \ 
--azure-image canonical:UbuntuServer:16.04.0-LTS:latest XXXXXX

这将设置我们在 Azure 上需要的一切。

安装 azure 文件存储 docker 插件

(根据我对 SSH 的了解)然后我们需要通过 SSH 连接到 docker-机器才能安装插件。

docker-machine XXXXXX ssh

进入后,可以按照以下步骤安装插件:

sudo -s
wget -qO /usr/bin/azurefile-dockervolumedriver https://github.com/Azure/azurefile-dockervolumedriver/releases/download/[VERSION]/azurefile-dockervolumedriver
chmod +x /usr/bin/azurefile-dockervolumedriver
wget -qO /etc/systemd/system/azurefile-dockervolumedriver.service https://raw.githubusercontent.com/Azure/azurefile-dockervolumedriver/master/contrib/init/systemd/azurefile-dockervolumedriver.service
cp [myconfigfile] /etc/default/
systemctl daemon-reload
systemctl enable azurefile-dockervolumedriver
systemctl start azurefile-dockervolumedriver
systemctl status azurefile-dockervolumedriver

请注意,这里有以下要求:

  1. 来自 github
  2. 的驱动程序的最新版本号
  3. 包含一些 Azure 存储凭据的文件

对于我的安装过程,我制作了 a script 我可以使用并将我的配置文件放在可以在安装时检索的安全存储中。请注意它是获取驱动程序版本 0.2.1.

完成后,退出 ssh 连接。

创建卷

您现在应该可以创建 docker 个卷

docker volume create --name filestore -d azurefile -o share=filestore 

创建 docker 个容器

您现在可以将此卷与 docker 个容器一起使用

docker run -it --name=example -v filestore:/filestore ubuntu /bin/bash