【问题标题】:okd(openshift) pod not writing result to diskokd(openshift) pod 未将结果写入磁盘
【发布时间】:2019-11-19 12:56:51
【问题描述】:

我成功地将 mkp224o 容器化以生成虚荣 v3 洋葱地址,并且我成功地直接从 docker 运行映像,但是在我的 OKD 集群中,映像启动并且我得到了一个正在使用 CPU 但没有显示结果的运行 pod在 pod 日志中或写入磁盘。

docker run --rm mkp224o -d /tmp f # 在本地和集群节点上生成结果

如果我执行 oc edit dc 并添加 args:"/onion/mkp224o -d /tmp f" # 没有写入/显示结果

#Dockerfile
FROM alpine:3.9

RUN set -ex \
    && cd /tmp \
    && apk add --no-cache tini libsodium pcre2 \
    && apk add --no-cache --virtual .fetch git make autoconf build-base libsodium-dev pcre
2-dev \
    && git clone https://github.com/cathugger/mkp224o.git --depth 1 \
    && cd mkp224o \ 
    && ./autogen.sh \
    && ./configure --enable-amd64-51-30k --enable-regex \
    && make \
    && mkdir /onion \
    && cp ./mkp224o /onion \
    && apk del .fetch \
    && cd;rm -r /tmp/mkp224o \
    && adduser -g '' -h /onion -u 1000 -D -s /sbin/nologin onion \
    && chown -R onion:onion /onion

USER onion

ENTRYPOINT ["/sbin/tini","--","/onion/mkp224o"]
CMD ["-d /tmp filter"]

我期待,因为它从 docker 运行并显示结果,它应该在 pod 内的集群上执行相同的操作。

【问题讨论】:

标签: docker kubernetes openshift okd


【解决方案1】:

Openshift 以组 0(root)的随机非特权用户身份运行容器。您不需要在 Dockerfile 中创建用户,因为它在 Openshift 中毫无意义。 相反,您必须使用以下命令:

RUN chgrp -R 0 /onion && chmod -R g=u /onion

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 2017-10-12
    相关资源
    最近更新 更多