代码之家  ›  专栏  ›  技术社区  ›  libik

Docker容器-Win和Linux上的不同行为

  •  0
  • libik  · 技术社区  · 7 年前

    我有docker容器,我运行它,一段时间后它必须执行这行代码

    $(aws ecr get-login --region $AWS_DEFAULT_REGION | sed -e 's/-e none//g')
    

    Login Succeeded

    当我在LinuxAMI代理上运行它时,一切都正常,但是当它到达这一行时,它就会输出

    /app/ops/release/docker-run.sh: 51: /app/ops/release/docker-run.sh: aws: not found

    我很困惑,因为我使用docker实际上有相同的环境,无论我什么时候执行它。唯一的非docker部分是当我构建并运行映像时(在这一部分中,我理解是否存在一些差异),但是在两个环境中,其他所有内容都基于相同的Dockerfile在容器中运行。

    唯一真正的区别可能是在启动时传递到容器中的环境变量。

    有什么想法吗?

    为该容器构建映像的Dockerfile的一部分是 RUN pip install --upgrade awscli

    1 回复  |  直到 7 年前
        1
  •  0
  •   libik    7 年前

    我将所有环境变量传递到容器中->在linux上,我传递了诸如 PATH 破坏自动寻找正确的 bin 文件夹。

    /usr/local/bin/aws 它在两个系统上都有效。在只传递相关的环境变量之后 aws 开箱即用。