【发布时间】:2021-04-20 08:41:33
【问题描述】:
我正在尝试在 Docker 中构建 Kafka-Connect 映像:
FROM confluentinc/cp-kafka-connect
RUN confluent-hub install --no-prompt wepay/kafka-connect-bigquery:1.6.1
RUN confluent-hub install --no-prompt confluentinc/connect-transforms:latest
RUN mkdir -p /usr/share/landoop-plugins
COPY kafka-connect-redis-1.2.2-2.1.0-all.jar /usr/share/landoop-plugins/
但它运行为appuser
Step 4/4 : RUN id
---> Running in d2094f6336a7
uid=1000(appuser) gid=1000(appuser) groups=1000(appuser)
如果我想的话
RUN mkdir -p /usr/share/landoop-plugins
由于 root 权限而停止:
mkdir: cannot create directory '/usr/share/landoop-plugins': Permission denied
The command '/bin/sh -c mkdir -p /usr/share/landoop-plugins' returned a non-zero code: 1
我可以在Dockerfile开头加上USER root:
Step 3/15 : RUN id
---> Running in 6255e2e7ff81
uid=0(root) gid=0(root) groups=0(root)
但是如果我运行容器,我会登录为appuser,这会导致权限问题:
[appuser@connect ~]$.
实际上,在源图像中
confluentinc/cp-kafka-connect:6.0.0
有一层USER appuser,所以我的问题是如何将我的图像构建为root,然后以root 登录并且不要使用appuser 用户。我试过了,USER root 没有帮助。
它是否与群体有某种联系?
groups
gignac sudo docker
我也试过docker build 和sudo docker build
【问题讨论】:
-
您能否编辑您的问题以包含您当前的
Dockerfile请
标签: docker apache-kafka apache-kafka-connect