无法从azure容器示例(aci)中的my web api容器连接redis容器

uqcuzwp8  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(328)

我正在azure容器示例(容器组)中部署我的应用程序。
我有3个集装箱
web应用程序接口
redis公司
尼欧4J
我可以使用 localhost:7474 作为主机名,但不能使用localhost作为主机名访问redis。这与我在本地使用 docker run 命令。
注意:我不能使用docker compose,因为我的目的是使用aci。
azuredeploy.json文件

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "containerGroupName": {
      "type": "string",
      "defaultValue": "devCG",
      "metadata": {
        "description": ""
      }
    }
  },
  "variables": {
    "name_web": "web-api",
    "image_web": "dev.azurecr.io/web-api:89",
    "name_redis": "redis",
    "image_redis": "redis:5.0.9",
    "name_neo4j": "neo4j",
    "image_neo4j": "neo4j:3.5.6"
  },
  "resources": [
    {
      "name": "[parameters('containerGroupName')]",
      "type": "Microsoft.ContainerInstance/containerGroups",
      "apiVersion": "2019-12-01",
      "location": "[resourceGroup().location]",
      "properties": {
        "containers": [
          {
            "name": "[variables('name_web')]",
            "properties": {
              "image": "[variables('image_web')]",
              "resources": {
                "requests": {
                  "cpu": 1,
                  "memoryInGb": 0.5
                }
              },
              "ports": [
                {
                  "port": 80
                },
                {
                  "port": 8080
                }
              ]
            }
          },
          {
            "name": "[variables('name_redis')]",
            "properties": {
              "image": "[variables('image_redis')]",
              "resources": {
                "requests": {
                  "cpu": 0.5,
                  "memoryInGb": 0.2
                }
              }
            }
          },
          {
            "name": "[variables('name_neo4j')]",
            "properties": {
              "image": "[variables('image_neo4j')]",
              "resources": {
                "requests": {
                  "cpu": 0.5,
                  "memoryInGb": 0.2
                }
              },
              "ports": [
                {
                  "port": 7474
                }
              ]
            }
          }
        ],
        "imageRegistryCredentials": [
          {
            "server": "dev.azurecr.io",
            "username": "dev",
            "password": "********************"
          }
        ],
        "restartPolicy": "Always",
        "osType": "Linux",
        "volumes": [
          {
            "name": "devfs",
            "azureFile": {
              "shareName": "dev",
              "readOnly": "false",
              "storageAccountName": "devfs",
              "storageAccountKey": "*****************************"
            }
          }
        ],
        "ipAddress": {
          "type": "Public",
          "ports": [
            {
              "protocol": "tcp",
              "port": 80
            }
          ],
          "dnsNameLabel": "dev"
        }
      }
    }
  ],
  "outputs": {
    "containerIPv4Address": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerInstance/containerGroups/', parameters('containerGroupName'))).ipAddress.ip]"
    }
  }
}
qlzsbp2j

qlzsbp2j1#

通过本地主机访问redis需要在redis配置中进行特殊调整。
看一看
https://github.com/docker-library/redis/issues/45

https://github.com/luin/ioredis/issues/763
建议通过redis主机名进行连接,您可以将此本地连接到redis主机名

相关问题