作者:sdfqw4543gf | 来源:互联网 | 2022-12-07 11:52
我有一个看起来像这样的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> Anthony Sott..:
您在这里有两个选择。
首先是明确提出了root
用户的本地斌对PATH
喜欢的东西
ENV PATH=/root/.local/bin:$PATH
第二种是将--user
论点放在您的上pip install
。默认情况下,pip
应该写入/usr/local/bin
哪个将在您PATH
已经