我想在容器B中运行一个容器A(重用Docker守护进程)。对于我刚刚绑定安装/var/run/docker.sock和/usr/bin/docker并能愉快地调用docker run内A。现在我想在A和之间分享一个volume B。为此我想到了创建一个emptyDir volumeA并将其传递给B使用docker run -v。但这不起作用,因为emptyDir volume似乎不是Docker volume(它在运行时不会出现docker volume ls)。
下面的代码段会打印一个cache-volume未显示的音量列表:
apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
image: alpine
name: test-container
command: [ash]
args: ["-c", "docker volume ls"]
volumeMounts:
volumes:
所以问题是:有没有办法在k8s和docker中定义一个可用的volume?
上述问题的解决方案是挂载hostPath目录D并将此目录绑定到容器中B。
apiVersion: v1
kind: Pod
metadata:
name: test-pd3
spec:
containers:
image: alpine
name: test-container
command: [ash]
args: ["-c", "echo blabla > /home/test.txt ; docker run -v /home:/home --entrypoint ls alpine /home"]
volumeMounts:
volumes:
以上代码片段的结果是B现在有了/home/test.txt,
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。