Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x DynamoDB和Python Docker连接”;“无法连接”;_Python 3.x_Docker_Amazon Dynamodb - Fatal编程技术网

Python 3.x DynamoDB和Python Docker连接”;“无法连接”;

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实例在docker中运行,使用下面的yml文件

    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
作为主机名。更详细地描述了网络环境。