devcontainer で Azure Functions などの実装を行う際、Azure Storage のエミュレーターとして Azurite を使用します。
devcontainer の構成
docker-compose.yml
version: '3'
services:
app:
(アプリケーションの構成)
# Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function.
network_mode: service:storage
storage:
container_name: azurite
image: mcr.microsoft.com/azure-storage/azurite:latest
restart: unless-stopped
volumes:
- storage-data:/data
volumes:
storage-data:
devcontainer.json
{ "name": "Node.js & Azurite (Community)", "dockerComposeFile": "docker-compose.yml", "service": "app", "workspaceFolder": "/workspace", "customizations": { "vscode": { "extensions": [ "ms-azuretools.vscode-azurestorage" ] } }, // Azuriteが使用しているポートを転送する // Blob: 10000 // Queue: 10001 // Table: 10002 "forwardPorts": [10000, 10001, 10002], "remoteUser": "node" }
Azure Storage Explorerから接続
Azure Storage Explorer から devcontainer の Azurite に接続する場合、Azurite の接続文字列を使用します。
ただし http の接続文字列を使用しましょう。 https では繋がりません。