首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OpenShift上构建和部署pgadmin?

如何在OpenShift上构建和部署pgadmin?
EN

Stack Overflow用户
提问于 2021-08-03 08:01:48
回答 2查看 211关注 0票数 0

我想在我的OpenShift名称空间中部署pgadmin,但是当我从docker.hub部署默认的pgadmin镜像时,我遇到了一个错误:

代码语言:javascript
复制
    /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

代码语言:javascript
复制
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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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的端口。

票数 0
EN

Stack Overflow用户

发布于 2021-08-04 08:11:32

如果您认识到您的容器使用GROUPID=0运行,而不是试图对uid进行微调,那么文件权限在OpenShift中工作得更好。

Chgrp0和chmod g+rwx没有将最高uid嵌入到容器镜像中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68632375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档