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
では繋がりません。