【发布时间】:2021-11-21 11:46:06
【问题描述】:
我有这个 pod 定义:
apiVersion: v1
kind: Pod
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 998 # Group ID of docker group on the node
containers:
- name: someconainter
image: someimage
resources:
requests:
memory: "8G"
cpu: "6"
limits:
memory: "10G"
cpu: "8"
imagePullPolicy: Always
tty: true
command:
- cat
volumeMounts:
- mountPath: /var/run
name: docker-sock
volumes:
- name: docker-sock
hostPath:
path: /var/run
如您所见,我已将 Docker 套接字从节点安装到 pod。
然后在 pod 中,我尝试像这样执行 docker run 命令:
docker run --rm -v ${helmChartFolder}:/chart:ro ubuntu ls -lah
然后挂载的/chart 文件夹是完全空的,尽管在 pod 本身上它不是
那么这可能是什么原因,我一直在尝试调整 -v 参数,甚至尝试了 --mount,但到目前为止没有运气。
【问题讨论】:
-
Kubernetes 节点不一定运行 Docker 守护程序,而且由于您可以非常简单地使用 Docker 来根主机,因此这是一个巨大的安全隐患。 Kubernetes 的环境也足够复杂,即使可能,混合 Docker 和 Kubernetes 容器也不一定能很好地工作。你可以改用 Kubernetes API 吗?您是否需要运行时访问容器系统?
标签: docker kubernetes kubernetes-pod