以非root用户身份构建Docker映像

时间:2019-03-15 15:27:43

标签: docker alpine

在构建Docker映像时,作为最佳实践,我知道我不应该使用root用户,但是与创建的用户很难。

这是我的Dockerfile

FROM alpine:3.9.2
RUN addgroup -S cetacean && adduser -S mobydick -G cetacean
USER mobydick
RUN apk update 

这是我运行它时收到的错误

  

错误:无法锁定数据库:权限被拒绝

     

错误:无法打开apk数据库:权限被拒绝

为了能够使用mobydick安装软件包,我应该怎么做?

1 个答案:

答案 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