![](/img/trans.png)
[英]Rex-ray AWS S3 external volume docker (docker-compose not working)
[英]Do I need to set aws config in docker compose as volume?
在我的项目中,我需要配置一个 AWS 存储桶下载,因为在我的部署中下载一个相当大的文件时,它总是会出现读取时间错误或连接错误。 我的根目录中有 a.aws/config,在我的 dockerfile 中我使用“ADD..” 它添加了项目中的所有文件。 为了构建图像,我使用 Docker 撰写。 但是,出于某种原因,它没有使用 aws config 值。 有没有办法将这些值传递给 Docker 以便实际使用它们?
这是我的“配置”文件,位于项目根目录的“.aws”中。
[default]
read_timeout = 1200
connect_timeout = 1200
http_socket_timeout = 1200
s3 =
max_concurrent_requests = 2
multipart_threshold = 8MB
multipart_chunksize = 8MB
我的 Dockerfile 看起来像这样:
FROM python:3.7.7-stretch AS BASE
RUN apt-get update \
&& apt-get --assume-yes --no-install-recommends install \
build-essential \
curl \
git \
jq \
libgomp1 \
vim
WORKDIR /app
# upgrade pip version
RUN pip install --no-cache-dir --upgrade pip
RUN pip3 install boto3
ADD . .
我预计通过“ADD..” boto3 将使用配置文件。 但不幸的是,情况并非如此。
也许这会回答您关于为什么 ADD 命令不起作用的问题。 隐藏的 file.env 未使用 Docker COPY 复制
与其依赖构建 docker 图像的机器的本地配置设置,您可能希望将配置作为显式文件放入存储库中,该文件将复制到~/.aws/config或容器中的任何位置并通过将其路径设置为 AWS_CONFIG_FILE 来引用; 或者使用以下 AWS 文档中定义的任何一种方法:
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html
其中您可以将配置定义为 python 代码的一部分或将它们声明为环境变量
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.