web-dev-qa-db-ja.com

Cloudstorを使用してローカルのDockerコンテナーにAzureファイル共有をマウントする

Azureファイル共有の共有データにアクセスする必要があるDockerイメージを開発しています。 Azureにデプロイする前にこれをローカルでテストしたいのですが、Swarmsを使用していません。

Azure CloudStor Dockerプラグインを使用しています

Cloudstorプラグインをローカルに正常にインストールしました:

docker plugin install --alias cloudstor:Azure --grant-all-permissions docker4x/cloudstor:17.06.1-ce-Azure1 CLOUD_PLATFORM=Azure AZURE_STORAGE_ACCOUNT_KEY="..." Azure_STORAGE_ACCOUNT="..."

そして、Dockerファイルを使用して私のコンテナを正常にコンパイルしました:

FROM nvidia/cuda:10.1-base-ubuntu18.04

# Update + Prerequisites
RUN apt-get update \    
    && apt-get -y install build-essential checkinstall \
    && apt-get -y install Sudo \
    && apt-get -y install curl \
    && apt-get -y install Zip \
    && apt-get -y install unzip \
    && apt-get -y install cifs-utils \    
    && apt-get -y install nfs-common nfs-kernel-server

# Install Azure CLI
RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash

# SMB ports
EXPOSE 137/udp 138/udp 139 445

RUN mkdir /mnt/myshare

--mountなしでコンテナを実行すると、すべてが正常に動作します。

しかし私がこれを試してみると:

docker run -it myImage --mount type=volume,volume-driver=cloudstor:Azure,source="myAzureShare",destination="/mnt/myShare" /bin/bash

私はこのエラーを受け取ります:

docker.exe:デーモンからのエラー応答:OCIランタイムの作成に失敗しました:container_linux.go:345:コンテナープロセスを開始すると "exec:\"-mount\"が発生しました:実行ファイルが$ PATHに見つかりません":不明です。

CloudStorの依存関係をイメージにインストールする必要がありますか?コンテナを実行するときに追加する必要がある追加のパラメータはありますか?

編集:this 上記のエラーを修正しました。しかし、今は--mountフラグを使用するとDockerがイメージを見つけられないようです。

docker.exe:デーモンからのエラー応答:myImageに対するプルアクセスが拒否されました。リポジトリが存在しないか、 'docker login'が必要な場合があります:拒否:リソースへの要求されたアクセスが拒否されました。

--mountを使用しない場合、イメージは正常にロードされます

1
Geordie

Cloudstorを使用してローカルのDockerコンテナーにAzureファイル共有をマウントする

「Azure File Storage用のDockerボリュームドライバー」を試すことができます。ファイル共有にはSMBとCIFSプロトコルを使用します。ここにソースコードがあります https:// github。 com/Azure/azurefile-dockervolumedriver
CloudStor DockerプラグインはAWSに適しています。

YAMLテンプレートを使用しても、グループ内のすべてのコンテナーがアクセスできるコンテナーグループにボリュームをマウントできます。
https://docs.Microsoft.com/en-us/Azure/container-instances/container-instances-volume-Azure-files

1
Ryan

現在これを行うことができないようです: https://github.com/moby/moby/issues/38842https://github.com/moby/moby/issues/3946

1つの問題は未解決であり、もう1つはClodStorがSMB 2.1を使用しているためですが、SMB 3.0はローカルインストールに必要です。

0
Geordie