gpt4 book ai didi

linux - docker - 在容器中找不到 aws 凭据,尽管它们存在

转载 作者:太空狗 更新时间:2023-10-29 11:13:22 26 4
gpt4 key购买 nike

mac 上运行以下 docker 命令有效,在 linux 上运行 ubuntu 找不到 aws cli证书。它返回以下消息:Unable to locate credentials
已完成 1 部分,剩余 ... 文件

运行图像并挂载数据卷然后从 s3 存储桶复制文件并在 docker 容器中启动 bash shell 的命令。

sudo docker run -it --rm -v ~/.aws:/root/.aws username/docker-image sh -c 'aws s3 cp s3://bucketname/filename.tar.gz/home/emailer && cd/home/emailer && tar zxvf filename.tar.gz &&/bin/bash'

我在这里错过了什么?

这是我的 Dockerfile:

FROM ubuntu:latest

#install node and npm
RUN apt-get update && \
apt-get -y install curl && \
curl -sL https://deb.nodesource.com/setup | sudo bash - && \
apt-get -y install python build-essential nodejs

#install and set-up aws-cli
RUN sudo apt-get -y install \
git \
nano \
unzip && \
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" && \
unzip awscli-bundle.zip

RUN sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

# Provides cached layer for node_modules
ADD package.json /tmp/package.json
RUN cd /tmp && npm install
RUN mkdir -p /home/emailer && cp -a /tmp/node_modules /home/emailer/

最佳答案

$HOME/.aws/ 安装到容器中应该可以。确保将其安装为只读。

还值得一提的是,如果您的 ~/.aws/config 中有多个配置文件 - 您还必须提供 AWS_PROFILE=somethingsomething 环境变量。例如。通过 docker run -e AWS_PROFILE=xxx ... 否则您将收到相同的错误消息(无法找到凭据)。

更新:添加了挂载命令的示例

docker run -v ~/.aws:/root/.aws …

关于linux - docker - 在容器中找不到 aws 凭据,尽管它们存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31073863/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com