【问题标题】:Connect Python app with redis using Ecs Ec2 [closed]使用 Ecs Ec2 将 Python 应用程序与 redis 连接 [关闭]
【发布时间】:2020-07-25 02:16:40
【问题描述】:

我有 2 个 dockerfile,我想使用 Aws-ECS 服务链接它们。我想使用 Ecs Ec2 链接它们。我应该记住哪些步骤来链接容器以及我应该使用什么网络模式。假设我想在 localhost:5000 上公开容器。我已将我的 docker 图像推送到 ECR。我想知道我应该分别对python和redis做什么端口映射。

Dockerfile python:

FROM python:3
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python3 app.py

Dockerfile redis:

From redis:latest

【问题讨论】:

    标签: python amazon-web-services docker amazon-ec2 amazon-ecs


    【解决方案1】:

    Redis 和 python 都应该是同一个任务定义的一部分,然后定义这两个容器之间的链接。

    链接

    link 参数允许容器相互通信而不需要端口映射。仅当任务定义的网络模式设置为桥接时才支持。 name:internalName 构造类似于 Docker 链接中的 name:alias。最多允许 255 个字母(大写和小写)、数字、连字符和下划线。

    Linking in ECS task defintion

    在python容器任务定义下面添加

       "links": [
            "redis"
          ]
    

    redis 是 Redis 容器名称。

      "containerDefinitions": [
        {
          "portMappings": [
            {
              "hostPort": 6379,
              "protocol": "tcp",
              "containerPort": 6379
            }
          ],
          "cpu": 0,
          "memoryReservation": 400,
          "image": "123.dkr.ecr.us-west-2.amazonaws.com/redis",
          "name": "redis"
        },
        {
          "portMappings": [
            {
              "hostPort": 80,
              "protocol": "tcp",
              "containerPort": 80
            }
          ],
          "cpu": 0,
          "memoryReservation": 400,
          "image": "123.dkr.ecr.us-west-2.amazonaws.com/pythonapp",
        "links": [
            "redis"
          ],
          "name": "app"
        }
    
    

    现在您可以在应用容器内使用redis:6379 访问 Redis 容器。

    从 AWS 控制台

    转到任务定义并在信号任务定义中添加容器定义

    • 应用容器
    • Redis 容器

    现在在应用的容器定义中添加一个链接

    【讨论】:

    • 我没有使用 cloudoformation。我实际上正在使用 aws 控制台来配置所有更改。你能帮我解决这个问题吗?
    • 已更新。请检查
    • 我应该选择什么网络模式?
    • 和容器端口,比如我想在 localhost:5000 上托管它,所以我应该在 redis 容器还是 python 容器中提供端口?
    • 应用程序端口应该在pythons容器中发布
    猜你喜欢
    • 1970-01-01
    • 2023-01-23
    • 2021-04-11
    • 2014-09-02
    • 2013-01-10
    • 1970-01-01
    • 2020-04-10
    • 2022-01-26
    • 2015-06-20
    相关资源
    最近更新 更多