我没有使用HostPath /var/lib/docker/containers
作为卷,但有以下错误:
Error response from daemon: linux mounts: Path /var/lib/docker/containers is
mounted on /var/lib/docker/containers but it is not a shared or slave mount.
这是我的YAML规范(注意:这只是在日志收集中重现我的问题的一个例子):
apiVersion: apps/v1
kind: Deployment
metadata:
name: test
namespace: logging
labels:
app: test
spec:
selector:
matchLabels:
app : test
template:
metadata:
labels:
app: test
spec:
containers:
- name: nginx
image: nginx:stable-alpine
securityContext:
privileged: true
ports:
- containerPort : 8003
volumeMounts:
- name: docker
mountPath: /var/lib/docker/containers
readOnly: true
volumes:
- name: docker
hostPath:
path: /var/lib/docker/containers
还有我的kubernetes版本。
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1",
GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean",
BuildDate:"2018-04-12T14:26:04Z", GoVersion:"go1.9.3", Compiler:"gc",
Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0",
GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean",
BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc",
Platform:"linux/amd64"}
非常感谢你的帮助!
非常感谢任何帮助!
您最有可能遇到特定于版本的问题:
/var/lib/docker/containers is intentionally mounted by Docker with private mount
propagation and thus conflicts with Kubernetes trying to mount this directory
as rslave when running the container
您应该尝试使用1.10.3+来解决问题。请参阅the official changelog了解kubernetes并检查与“默认安装传播”相关的条目。还要检查相关的(参见错误)fluentd issue以获得更深入的分析。
现在,据说......
大卫的经验丰富的评论仍然有问题和谨慎的说法,我认为:这是一个非常挑剔的人 - nginx pod深入挖掘码头引擎内部(希望它只是为了最小的可重复的例子,或者日志收集案例,你知道, ......)......确保你确切知道自己在做什么以及为什么这样做。