我有一个docker-compose.yml:
version: '2'
services:
db:
image: MysqL:5.7
volumes:
- db_data:/var/lib/MysqL
restart: always
environment:
MysqL_ROOT_PASSWORD: wordpress
MysqL_DATABASE: wordpress
MysqL_USER: wordpress
MysqL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
wordpress_DB_HOST: db:3306
wordpress_DB_PASSWORD: wordpress
volumes:
db_data:
当我运行这个docker-compose up -d然后执行docker inspect -f'{{(index .Mounts 0).Source}}’ef8be254a08b为正在运行的db容器获取指定主机上卷位置的Source,如果我是目录(ls / var / lib / docker / volumes / test_db_data / _data:没有这样的文件或目录),我总是得到“没有这样的文件或目录”.
如何才能获得卷的真实位置?
最佳答案
所以我得到了答案.重点是Mac上的Docker仍在VM中运行.因此,系统路径仍然相对于VM而不是Mac.所有容器都存储在VM中,位于〜/ Library / Containers / com.docker.docker / Data / com.docker.driver.amd64-linux / Docker.qcow2
原文链接:https://www.f2er.com/docker/436694.html进入VM使用:
screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
然后你可以看到docker inspect {container_id}中给出的Source文件夹的内容:
ls /var/lib/docker/volumes/test_db_data/_data