在构建Docker映像时,作为最佳实践,我知道我不应该使用root
用户,但是与创建的用户很难。
这是我的Dockerfile
FROM alpine:3.9.2
RUN addgroup -S cetacean && adduser -S mobydick -G cetacean
USER mobydick
RUN apk update
这是我运行它时收到的错误
错误:无法锁定数据库:权限被拒绝
错误:无法打开apk数据库:权限被拒绝
为了能够使用mobydick
安装软件包,我应该怎么做?
答案 0 :(得分:3)
根据最佳做法,如果可能的话,我们应该以非root用户身份运行docker容器。
我们可以通过在最后添加用户来做到这一点,以便您可以以root用户身份安装所有软件包,并且当容器启动时,它会使用非root用户身份。
FROM alpine:3.9.2
RUN addgroup -S cetacean && adduser -S mobydick -G cetacean
RUN apk update
USER mobydick
您可以阅读更多here。