Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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
Node.js AWS S3解析docker容器的URI错误_Node.js_Amazon S3 - Fatal编程技术网

Node.js AWS S3解析docker容器的URI错误

Node.js AWS S3解析docker容器的URI错误,node.js,amazon-s3,Node.js,Amazon S3,在本地环境中,我使用express/node后端和AWS S3服务器(使用)开发了一个文件上载功能。这两个服务都停靠在各自的容器中,通信工作正常。 我的问题是S3服务器似乎不理解上传请求。以下是我尝试使用的代码: const s3=新s3({ accessKeyId:'accessKey1', secretAccessKey:“verySecretKey1”, 终结点:“s3server:8000”, sslEnabled:错误, s3ForcePathStyle:没错, }); 函数上载文件

在本地环境中,我使用express/node后端和AWS S3服务器(使用)开发了一个文件上载功能。这两个服务都停靠在各自的容器中,通信工作正常。 我的问题是S3服务器似乎不理解上传请求。以下是我尝试使用的代码:

const s3=新s3({
accessKeyId:'accessKey1',
secretAccessKey:“verySecretKey1”,
终结点:“s3server:8000”,
sslEnabled:错误,
s3ForcePathStyle:没错,
});
函数上载文件(文件){
常量参数={
正文:文件,
Bucket:'testbucket',
Key:'testkey',
ACL:“公共读取”,
};
s3.上传(参数,(错误,数据)=>{
if(err)console.log(err,err.stack);//发生错误
else console.log(数据);//响应成功
});

}
您可以按照建议使用卷提供自己的config.json来解决此问题

  • 抄袭
  • “s3server”:“us-east-1”
    添加到
    “restEndpoints”
  • docker run-v$(pwd)/config.json:/usr/src/app/config.json…
    或者,如果您正在使用docker compose,请向您的
    docker compose.yaml添加类似以下内容:
  • s3server:
        image: scality/s3server
        restart: always
        expose: [8000]
        stdin_open: true
        tty: true
        container_name: s3server
        volumes:
          - "${PWD}/s3config.json:/usr/src/app/config.json"