I'm developing a docker image that requires access to shared data in a Azure file share. I want to test this locally before deploying to Azure and I'm not using swarms.
I'm using the Azure CloudStor Docker plugin
I've successfully installed the Cloudstor plugin locally:
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="..."
And successfully compiled my container using a Docker file:
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
If I run the container without --mount everything works fine.
If I however try this:
docker run -it myImage --mount type=volume,volume-driver=cloudstor:azure,source="myAzureShare",destination="/mnt/myShare" /bin/bash
I get this error:
docker.exe: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"--mount\": executable file not found in $PATH": unknown.
Do I need to install any CloudStor dependencies in the image? Are there any extra parameters I need to add when running the container?
Edit: this fixed the above error. But now it's as though Docker can't find the image when i use the --mount flag:
docker.exe: Error response from daemon: pull access denied for myImage, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
If I don't use --mount the image loads fine