在Mac上使用普通的原生Docker,没有minikube,我可以以官方的例子从 https:/docs.docker.comengineadminvolumesvolumes#start-a-container-with-a-volume。
运行。
docker run -d \
-it \
--name devtest \
--mount source=myvol2,target=/app \
nginx:latest
那我就可以跑了 docker inspect devtest
并看到挂载已经创建。
"Mounts": [
{
"Type": "volume",
"Name": "myvol2",
"Source": "/var/lib/docker/volumes/myvol2/_data",
"Destination": "/app",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
],
我可以运行 docker volume ls
且看 myvol2
如果我使用的是最新的minikube,目前是v0.22.3,用一个新鲜的minikube本地虚拟机。
minikube delete
rm -rf ~/.kube
rm -rf ~/.minikube
minikube start
Starting local Kubernetes v1.7.5 cluster...
那就用minikube虚拟机版本的Docker来实现 eval $(minikube docker-env)
然后重复刚才的命令。
docker run -d \
-it \
--name devtest \
--mount source=myvol2,target=/app \
nginx:latest
然后 docker inspect devtest
回来的时候有一个空的支架部分: "Mounts": []
. docker volume ls
没有显示 myvol2
. 换句话说,Docker卷似乎根本无法与minikube一起工作。
顺便说一下,以下是 docker version
当使用Minikube v0.22.3工作时。
Client:
Version: 17.06.2-ce
API version: 1.23
Go version: go1.8.3
Git commit: cec0b72
Built: Tue Sep 5 20:12:06 2017
OS/Arch: darwin/amd64
Server:
Version: 1.12.6
API version: 1.24 (minimum version )
Go version: go1.6.4
Git commit: 78d1802
Built: Wed Jan 11 00:23:16 2017
OS/Arch: linux/amd64
Experimental: false
https:/github.comkubernetesminikubeissues3001#issuecomment-446055883。 可能是答案。 在这种情况下,体积应该是在minikube env中。