我尝试以根用户的身份运行httpd:2.4-alpine 码头形象。
默认行为:
> docker run -p 80:80 -d --rm --name httpd httpd:2.4-alpine
3c271ae8abfc3f54c0e63d62a2ce26fcbeeef29064da66f4b3f6bd00480ad4fb
> docker exec httpd --name httpd whoami
root
在查看此图像的Dockerfile定义之后,可以看到使用id 82
创建了一个www-data
:
...
RUN set -x \
&& adduser -u 82 -D -S -G www-data www-data
# 82 is the standard uid/gid for "www-data" in Alpine
...
让我们尝试使用这个用户来运行这个映像:
> docker stop httpd # cleaning previous instance
> docker run -p 80:80 --rm --name httpd -u www-data httpd:2.4-alpine
此错误失败:
AH00558: httpd:无法使用172.17.0.3可靠地确定服务器的完全限定域名。使用172.17.0.3全局设置“ServerName”指令以抑制此消息-- AH00558: httpd: AH00558无法可靠地确定服务器的完全限定域名。全局设置“ServerName”指令以抑制此消息Tue Aug 15:57:25.958695 2022 pid 1:tid 140459379268424权限被拒绝: AH00099:未能创建/usr/local/apache2/AH00099/httpd.pid.XXXXXXXX Tue 30 15:57:25.959029 2022 pid 1:tid 140459379268424 AH00100: httpd:未能将pid记录到文件/usr/local/apache2/ log /httpd.pid
我已经找到了修复这个问题的这个答案,但是由于我是在一个对接环境中,所以我不知道如何/是否可以应用这个解决方案。
有人知道我如何运行这个图像,而不是作为一个根?
https://stackoverflow.com/questions/73545409
复制相似问题