docker - minikube + Docker 卷?

标签 docker kubernetes docker-volume minikube

在 Mac 上使用常规原生 Docker,没有 minikube,我可以从 https://docs.docker.com/engine/admin/volumes/volumes/#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 本地 VM:

minikube delete
rm -rf ~/.kube 
rm -rf ~/.minikube 
minikube start

Starting local Kubernetes v1.7.5 cluster...

然后使用带有 eval $(minikube docker-env) 的 Docker 的 minikube VM 版本,然后重复之前的相同命令:

docker run -d \
  -it \
  --name devtest \
  --mount source=myvol2,target=/app \
  nginx:latest

然后 docker inspect devtest 返回一个空的 mounts 部分:"Mounts": []。并且 docker volume ls 没有显示 myvol2。换句话说,Docker 卷似乎根本无法与 minikube 一起使用。

仅供引用,这是使用 Minikube v0.22.3 时 docker version 的输出:

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.com/kubernetes/minikube/issues/3001#issuecomment-446055883可能是答案。在这种情况下,卷应该在 minikube env 中。正如他们在上面的链接中提到的:

So you have to mount your folder(host) into minikube(vm) first (use minikube mount), so the docker can access it.

关于docker - minikube + Docker 卷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45964655/

相关文章:

docker - 为什么我可以在环回设备上安装一个镜像,而不能在容器内的另一个设备上安装第二个镜像?

docker - 构建镜像后,如何从.gitlab-ci.yml运行我的docker镜像?

python-2.7 - 使用 docker-py 从容器运行和共享主机文件夹

ruby-on-rails - 在$ PATH中找不到docker可执行文件

Docker for Windows Kubernetes pod 在创建新部署后获取 ImagePullBackOff

kubernetes - K8s : gets HTTP 415 for PATCH request to Kubernetes REST API server

python - Dockerfile 无法复制 & Docker-compose 卷不与容器同步

azure - 在 Azure 应用服务中使用 docker 容器时装载卷

docker - Docker中的Dotnet Web应用未显示错误堆栈

java - 使用 Spring Boot 连接拒绝的 Kubernetes 服务发现