Docker-如何运行在构建期间安装的软件包?

时间:2018-07-11 21:28:31

标签: docker

我正在尝试从Docker映像中复制CLI中的操作。 我在全局安装了npm软件包,然后尝试运行它。

npm已成功安装,但CMD失败,并显示mup: command not found

FROM ubuntu:latest

#...

# Install mup
RUN npm install mup -g

CMD ["/bin/bash", "-c", "mup ${*}"]

1 个答案:

答案 0 :(得分:0)

您未在Docker容器中指定用户,因此容器内的命令以root用户身份运行。

mup的默认全局安装位置为/usr/local/bin/mup。 Ubuntu 18.04中root用户的默认PATH环境变量不包含/usr/local/bin

root@localhost:/# whoami
root
root@localhost:/# echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:

您可以创建一个在其{{1}中具有/usr/local/bin的用户,或将根用户的PATH调整为包括PATH,或使用绝对路径{{ 1}},在您的Dockerfile中。