つばろぐ

主に C#, .NET, Azure の備忘録です。たまに日記。

devcontainerのAzuriteにホスト側のAzure Storage Explorerからアクセスする

devcontainer で Azure Functions などの実装を行う際、Azure Storage のエミュレーターとして Azurite を使用します。

learn.microsoft.com

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

learn.microsoft.com

参考

github.com

codingfor.beer