作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用以下docker-compose.yml
文件:
test:
build: ../../
dockerfile: docker/dev/Dockerfile
volumes_from:
- cachev
cachev:
build: ../../
dockerfile: docker/dev/Dockerfile
volumes:
- /build
entrypoint: "true"
cachev
服务启动了卷容器,该容器在docker host中的
/var/lib/docker/
文件夹中创建匿名卷,并在卷容器(
/cache
)中创建安装点
xx_cachev
。
volumes_from
服务下的
test
指令是否在
/build
容器中创建
xx_test
挂载点?指向
/build
容器的
xx_cachev
挂载点?
最佳答案
从volumes_from
docs:
Mount all of the volumes from another service or container...
volumes_from
挂载
/build
服务内
cachev
服务定义的
test
卷。
test
服务:
docker compose up test
cachev service in above file launches volume container...
entrypoint: "true"
会立即退出。
docker ps -a
应该显示:
ac68a33abe59 cache "true" 16 hours ago Exited (0) 4 minutes ago cache_1
volumes:
中指定的卷。因此,如果其他服务使用其卷进行缓存,我们可以将其称为卷容器。
that creates anonymous volume in /var/lib/docker/ folder in docker host
- /build
是匿名卷。可以通过查看所有容器安装来验证:
docker inspect [cachev_container_id] --format '{{json .Mounts}}' | jq
{
"Type": "volume",
"Name": "1ec7ff7c72bfb5a3259ed54be5b156ea694be6c8d932bcb3fa6e657cbcaea378",
"Source": "/var/lib/docker/volumes/1ec7ff7c72bfb5a3259ed54be5b156ea694be6c8d932bcb3fa6e657cbcaea378/_data",
"Destination": "/build",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
jq
是在bash中处理json的强大工具。安装它以使上面的命令起作用。
and creates mount point /cache within volume container(xx_cachev).
cachev:
服务规范中看不到任何挂载的迹象。
- /tmp/cache:/cache
添加到其
volumes
部分,然后再次运行
docker compose up test
并检查退出的容器,则应该看到:
{
"Type": "bind",
"Source": "/tmp/cache",
"Destination": "/cache",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
docker inspect [cachev_service_id] --format '{{json .Mounts}}' | jq
将显示所有容器安装,包括使用
docker/dev/Dockerfile
指令在
VOLUME
中指定的安装。
test
服务容器:
docker inspect [test_container_id] --format '{{json .Mounts}}' | jq
:
docker/dev/Dockerfile
指令,它将显示
cachev
中指定的所有卷以及
volumes_from
中的所有卷。
test
和
cache
容器都具有:
{
"Type": "volume",
"Name": "1ec7ff7c72bfb5a3259ed54be5b156ea694be6c8d932bcb3fa6e657cbcaea378",
"Source": "/var/lib/docker/volumes/1ec7ff7c72bfb5a3259ed54be5b156ea694be6c8d932bcb3fa6e657cbcaea378/_data",
"Destination": "/build",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
docker compose up test
的后续运行中得以幸存
关于docker - volume_from指令-docker撰写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58439706/
抱歉,我不确定正确的术语(因此,我将尝试全部使用它来阐明我的观点)。对不起, docker 还很陌生。 我需要一种方法来在容器之间进行[链接/挂载卷/卷_从]存储-但似乎无法弄清楚。我不想使用主机,因
我是一名优秀的程序员,十分优秀!