如何基于镜像“ python:2.7”在Docker容器中安装AWS CLI

时间:2018-08-20 01:40:12

标签: docker aws-cli

我有一个看起来像这样的dockerfile:

FROM python:2.7
RUN pip install awscli --upgrade --user

一旦从该dockerfile构建了docker映像,我就运行它。但是,当我进入容器并尝试运行AWS CLI时,找不到它,因为它不在PATH环境变量中:

$ docker exec -ti ec4934370e37 /bin/bash

root@ec4934370e37:~# aws
bash: aws: command not found

root@ec4934370e37:/# find / -name aws
/root/.local/bin/aws

root@ec4934370e37:/# /root/.local/bin/aws --version
aws-cli/1.15.81 Python/2.7.15 Linux/4.9.87-linuxkit-aufs botocore/1.10.80

root@ec4934370e37:/# env | grep PATH
PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

通过包含在PATH变量中来确保AWSCLI可用的最佳/最简便/最省力的方法是什么?可以在dockerfile本身内部完成此操作吗?

1 个答案:

答案 0 :(得分:5)

您在这里有两个选择。

第一种方法是使用类似

的方法将root用户的本地容器明确放置在PATH
ENV PATH=/root/.local/bin:$PATH

第二个方法是将--user参数放在您的pip install上。默认情况下,pip应该写到/usr/local/bin上的PATH