我有两个码头文件,我想链接他们使用Aws-ECS服务。我想用Ecs Ec2链接它们。我应该记住链接容器的步骤以及我应该使用什么网络模式。假设我想在localhost上公开容器:5000。我已经把我的码头图像推到ECR了。我想知道应该分别对python和redis做什么端口映射。
Dockerfile python:
FROM python:3
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python3 app.pyDockerfile redis:
From redis:latest

发布于 2020-07-24 17:21:55
Redis和python都应该是同一个任务定义的一部分,然后定义这两个容器之间的链接。
链接
link参数允许容器彼此通信,而不需要端口映射。只有当任务定义的网络模式设置为桥时才支持。name:internalName结构类似于Docker链接中的name:alias。最多允许255个字母(大写和小写)、数字、连字符和下划线。
在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"
}现在,您可以在app容器中使用redis:6379来访问Redis容器。
从AWS控制台
向任务定义和在信号任务定义中添加容器定义

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

https://stackoverflow.com/questions/63077970
复制相似问题