docker - 以非 root 用户身份构建 Docker 映像
问题描述
在构建 Docker 映像时,作为最佳实践,我知道我不应该使用该root
用户,但我很难使用我创建的用户。
这里我的Dockerfile
FROM alpine:3.9.2
RUN addgroup -S cetacean && adduser -S mobydick -G cetacean
USER mobydick
RUN apk update
这是我运行它时遇到的错误
错误:无法锁定数据库:权限被拒绝
错误:无法打开 apk 数据库:权限被拒绝
为了能够使用安装软件包,我应该怎么做mobydick
?
解决方案
根据最佳实践,如果可能,我们应该以非 root 用户身份运行 docker 容器。
我们可以通过在末尾添加用户来做到这一点,这样您就可以以 root 身份安装所有软件包,并且当容器启动时,它使用非 root 用户。
FROM alpine:3.9.2
RUN addgroup -S cetacean && adduser -S mobydick -G cetacean
RUN apk update
USER mobydick
你可以在这里阅读更多。
推荐阅读
- mongodb - mongodb 根据每个用户结果更新一个集合
- mysql - 如何在 bash 脚本中运行所有命令?
- javascript - Angular Firebase 如何按字段查找和检索数据
- loops - 如何在鼠标悬停时循环等待,而不是将所有事件放入调用堆栈 JS / Vue.js
- java - TestNG 可发送电子邮件报告中的原始 html
- .htaccess - .htaccess XML-Sitemap 重定向多域
- excel - Excel宏将单元格中的文本拆分为多行固定字符数
- swift - 从 SKScene 获取 SKLabelNode 的参考
- laravel - 向推送器发送事件时如何修复 POST http://localhost:8000/broadcasting/auth 419(未知状态)
- qt - 如何修复“QML 调试器:无法监听端口”