Python 3.x DynamoDB和Python Docker连接”;“无法连接”;
我有一个dynamoDB实例在docker中运行,使用下面的yml文件Python 3.x DynamoDB和Python Docker连接”;“无法连接”;,python-3.x,docker,amazon-dynamodb,Python 3.x,Docker,Amazon Dynamodb,我有一个dynamoDB实例在docker中运行,使用下面的yml文件 dynamodb: image: amazon/dynamodb-local hostname: dynamodb-local container_name: dynamodb-local ports: - "8000:8000" 我试图用下面的python代码从另一个docker容器调用它 dynamodb
dynamodb:
image: amazon/dynamodb-local
hostname: dynamodb-local
container_name: dynamodb-local
ports:
- "8000:8000"
我试图用下面的python代码从另一个docker容器调用它
dynamodb = boto3.client('dynamodb', endpoint_url='http://localhost:8000', region_name='anywhere')
当我运行此命令时,显示的是botocore.exceptions.EndpointConnectionError:无法连接到端点URL:“http://localhost:8000/“
如何使此python代码连接到db实例?我的问题是,我假设这将在localhost的端口8000上公开。 相反,它需要链接到dynamo docker容器。在python docker compose的yml文件中,我需要添加以下内容:
links:
- "dynamodb:db"
之后我可以通过
ddb = boto3.client('dynamodb', endpoint_url='http://db:8000', region_name='anywhere')
在现代Docker中,您根本不需要
链接:
;您可以只使用另一个服务的名称dynamodb
作为主机名。更详细地描述了网络环境。