drone.io: containerd: 写入 /proc/14/oom_score_adj: 权限被拒绝
drone.io: containerd: write /proc/14/oom_score_adj: permission denied
我正在尝试对 drone.io docker
插件进行逆向工程,并了解如何 运行 docker 守护进程流水线步骤 (DinD)。
drone.io 使用库 github.com/cncd/pipeline
来编译和执行 .drone.yml 文件。
plugins/docker
做的第一件事是启动 docker 守护进程:
+ /usr/local/bin/dockerd -g /var/lib/docker
这在官方插件中正常工作,但我无法让它与我自己的图像一起工作:
pipeline.yml
workspace:
base: /go
path: src/github.com/fnbk/hello
pipeline:
test:
image: fnbk/drone-daemon
fnbk/drone-daemon/run.sh
#!/bin/sh
/usr/local/bin/dockerd # <= ERROR: containerd: write /proc/17/oom_score_adj: permission denied
# ...
它会给我以下错误:
containerd: write /proc/14/oom_score_adj: permission denied
完整示例可在 github 上找到:https://github.com/cncd/pipeline/pull/45
非常感谢任何建议。
您需要通过传递到服务器的 DRONE_ESCALATE
环境变量将您的插件添加到白名单。这是默认值:
DRONE_ESCALATE=plugins/docker,plugins/gcr,plugins/ecr
所以你会传递这样的东西:
-DRONE_ESCALATE=plugins/docker,plugins/gcr,plugins/ecr
+DRONE_ESCALATE=plugins/docker,plugins/gcr,plugins/ecr,fnbk/my-custom-plugin
请注意,这应该只是图像名称。它不能包含标签。
我正在尝试对 drone.io docker
插件进行逆向工程,并了解如何 运行 docker 守护进程流水线步骤 (DinD)。
drone.io 使用库 github.com/cncd/pipeline
来编译和执行 .drone.yml 文件。
plugins/docker
做的第一件事是启动 docker 守护进程:
+ /usr/local/bin/dockerd -g /var/lib/docker
这在官方插件中正常工作,但我无法让它与我自己的图像一起工作:
pipeline.yml
workspace:
base: /go
path: src/github.com/fnbk/hello
pipeline:
test:
image: fnbk/drone-daemon
fnbk/drone-daemon/run.sh
#!/bin/sh
/usr/local/bin/dockerd # <= ERROR: containerd: write /proc/17/oom_score_adj: permission denied
# ...
它会给我以下错误:
containerd: write /proc/14/oom_score_adj: permission denied
完整示例可在 github 上找到:https://github.com/cncd/pipeline/pull/45
非常感谢任何建议。
您需要通过传递到服务器的 DRONE_ESCALATE
环境变量将您的插件添加到白名单。这是默认值:
DRONE_ESCALATE=plugins/docker,plugins/gcr,plugins/ecr
所以你会传递这样的东西:
-DRONE_ESCALATE=plugins/docker,plugins/gcr,plugins/ecr
+DRONE_ESCALATE=plugins/docker,plugins/gcr,plugins/ecr,fnbk/my-custom-plugin
请注意,这应该只是图像名称。它不能包含标签。