首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ecs Ec2将Python应用程序与redis连接起来

使用Ecs Ec2将Python应用程序与redis连接起来
EN

Stack Overflow用户
提问于 2020-07-24 16:45:51
回答 1查看 263关注 0票数 0

我有两个码头文件,我想链接他们使用Aws-ECS服务。我想用Ecs Ec2链接它们。我应该记住链接容器的步骤以及我应该使用什么网络模式。假设我想在localhost上公开容器:5000。我已经把我的码头图像推到ECR了。我想知道应该分别对python和redis做什么端口映射。

Dockerfile python:

代码语言:javascript
复制
FROM python:3
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python3 app.py

Dockerfile redis:

代码语言:javascript
复制
From redis:latest

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-24 17:21:55

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

链接

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

ECS任务定义中的链接

在python容器任务定义中添加以下内容

代码语言:javascript
复制
   "links": [
        "redis"
      ]

其中redis是Redis容器名。

代码语言:javascript
复制
  "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"
    }

现在,您可以在app容器中使用redis:6379来访问Redis容器。

从AWS控制台

向任务定义和在信号任务定义中添加容器定义

  • App连载器
  • 红宝石容器

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63077970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档