+-

我有一个看起来像这样的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可用的最佳/最简单/最少hacky方法?这可以从dockerfile本身内部完成吗?
最佳答案
你有两个选择.
第一种是将root用户的本地bin显式放在PATH上
ENV PATH=/root/.local/bin:$PATH
第二种是在你的pip install上删除–user参数.默认情况下,pip应该写入/usr/local/bin,它将在你的PATH上
点击查看更多相关文章
转载注明原文:如何基于映像“python:2.7”在docker容器中安装AWS CLI - 乐贴网