我想在我的OpenShift名称空间中部署pgadmin,但是当我从docker.hub部署默认的pgadmin镜像时,我遇到了一个错误:
/entrypoint.sh: line 8: can't create /pgadmin4/config_distro.py: Permission denied
You need to define the PGADMIN_DEFAULT_EMAIL and PGADMIN_DEFAULT_PASSWORD environment variables.但是,我不能访问完全权限的OpenShift,我不是管理员集群,我不能做oc adm policy add-scc。我尝试创建Dockerfile
FROM dpage/pgadmin4 as pgadmin4
USER root
RUN chown 1000640000:1000640000 /pgadmin4 && \
sed -i 's/5050/1000720000/g' /etc/passwd && \
sed -i 's/5050/1000720000/g' /etc/group && \
find / -user 5050 -exec chown 1000720000 {} \; && \
find / -group 5050 -exec chown :1000720000 {} \; && \
sed 's@python /run_pgadmin.py@python /pgadmin4/run_pgadmin.py@g' /entrypoint.sh
USER 1000640000
VOLUME /var/lib/pgadmin
EXPOSE 80 443
ENTRYPOINT ["/entrypoint.sh"]如果我停靠构建并部署到OpenShift,我仍然会有一个错误
也许还有其他方法可以绕过禁令,安装pgadmin?
发布于 2021-08-03 09:28:36
按照@rzlvmp建议的去做。也不要使用EXPOSE 80 443。在Openshift中,如果你没有cluster-admin角色来执行oc adm policy add-scc,即使你有,也不是处理scc的好主意,你不能暴露低于1024的端口。例如,使用EXPOSE 8080 8443。只有在root UID下启动的进程才能使用低于1024的端口。
发布于 2021-08-04 08:11:32
如果您认识到您的容器使用GROUPID=0运行,而不是试图对uid进行微调,那么文件权限在OpenShift中工作得更好。
Chgrp0和chmod g+rwx没有将最高uid嵌入到容器镜像中
https://stackoverflow.com/questions/68632375
复制相似问题