首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openshift上的metricbeat被拒绝权限

openshift上的metricbeat被拒绝权限
EN

Stack Overflow用户
提问于 2019-07-06 20:19:11
回答 1查看 865关注 0票数 0

我正在尝试在openshift上部署metricbeat,但经过几个小时的工作后,我无法让它工作。同一镜像在docker上运行正常。谢谢

代码语言:javascript
复制
#Dockerfile

FROM docker.elastic.co/beats/metricbeat:7.2.0
COPY metricbeat.yml /usr/share/metricbeat/metricbeat.yml
USER root 
RUN mkdir /var/log/metricbeat \
    && chown metricbeat /usr/share/metricbeat/metricbeat.yml \
    && chown metricbeat /usr/share/metricbeat/metricbeat \
    && chmod go-w /usr/share/metricbeat/metricbeat.yml \
    && chown metricbeat /var/log/metricbeat

COPY entrypoint.sh /usr/local/bin/custom-entrypoint
RUN chmod +x /usr/local/bin/custom-entrypoint \
    && chown metricbeat /usr/local/bin/custom-entrypoint

ENV PATH="/usr/share/metricbeat:${PATH}"

USER metricbeat

ENTRYPOINT [ "/usr/local/bin/custom-entrypoint" ]

#entrypoint.sh
#!/usr/bin/env bash
/usr/share/metricbeat/metricbeat -e --strict.perms=false -c /usr/share    /metricbeat/metricbeat.yml  

错误: /usr/local/bin/custom-entrypoint:第2行: /usr/share/metricbeat/metricbeat:权限被拒绝

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-08 07:37:00

Dockerfile文件展示了在构建镜像时,在设置目录结构和权限时切换到root用户,最后切换到USER metricbeat来运行容器。

但是,默认情况下,OpenShift使用具有随机UID (来自预先配置的范围)的用户运行容器。

一种选择是像Graham Dumpleton建议的那样放松安全策略。

为了让它在不放松安全性的情况下工作,我建议更改所有权,如下所示:

代码语言:javascript
复制
RUN chown -R metricbeat:root /usr/share/metricbeat \
 && chmod -R 0775 /usr/share/metricbeat

...or在第一条RUN指令中合并了上述两个命令。

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

https://stackoverflow.com/questions/56914030

复制
相关文章

相似问题

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