繁体   English   中英

我需要在 docker compose as volume 中设置 aws config 吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM