Azureを使ってデプロイの勉強をしているのですが、ローカルのフォルダをAzureストレージアカウント(ファイル共有)にどのようにすればコピーできるのかを教えていただきたいです。
最終的には、Jupyter notebookをデプロイしてローカルにある.ipynbのファイルをデプロイ環境上でも実行したいです。
Jupyter notebookはDockerで環境を作成しており、docker-compose.yml
は以下のようになっています。
version: '3' services: notebook: build: ./libraries environment: - "TZ=Asia/Tokyo" volumes: - ./experiments:/home/jovyan/data/ ports: - "8888:8888" networks: - default networks: default: driver: bridge
./experiments
にコピーしたいファイルが入っています。
私がデプロイのために修正したdocker-compose.yml
が以下です。
version: '3' services: notebook: image: notebooks.azurecr.io/notebook environment: - "TZ=Asia/Tokyo" volumes: - jupyterdata-volume:/home/jovyan/data/ ports: - "8888:8888" networks: - default networks: default: driver: bridge volumes: jupyterdata-volume: driver: azure_file driver_opts: share_name: jupyter-volume storage_account_name: jupyterstr
ストレージアカウントのファイル共有にvolumesを変更しているため、./experiments
がhome/jovyan/data
にコピーされません。
volumesでローカルと接続するとデプロイ時にエラーになってしまうため、ストレージアカウントに接続しています。
理想は、デプロイ時に./experiments
のファイルが、home/jovyan/data
にコピーされ、localhost:8888
にアクセスした際に、ファイルが表示されるようにしたいです。
Azure portalからストレージアカウントを開いて、ファイル共有から1つずつファイルをアップロードできるようですが、それは手間になるので別の方法を教えていただきたいです。
このような場合どうすればよいでしょうか。よろしくお願いします。
あなたの回答
tips
プレビュー