gpt4 book ai didi

docker - 如何使用 docker-compose 将 docker 容器目录映射到主机?

转载 作者:行者123 更新时间:2023-12-04 15:38:24 37 4
gpt4 key购买 nike

鉴于以下 docker-compose.yml 设置:

version: '3.7'

services:
reverse:
container_name: nginx-reverse-proxy
hostname: nginx-reverse-proxy
image: nginx:stable
ports:
- 80:80
- 433:433
volumes:
- type: bind
source: ./config
target: /etc/nginx
consistency: consistent
这导致 ./config正在映射到容器的文件夹 nginx-reverse-proxy因此在一个空的 /etc/nginx 中容器内的目录。
目标 :
映射文件夹 来自 容器 主持人。在我的例子中 来自 容器 /etc/nginx 主持人 ./config .
我当前的搜索不断导致映射目录 来自 主持人 容器(我不想要)。
任何提示/解决方案表示赞赏。谢谢!
我目前的解决方案是丑陋的:
我用 docker 创建了容器并从 /etc/nginx 复制了文件至 ./config .移除容器并使用 docker-compose up作品和 nginx启动是因为所需的文件已经在主机上。
编辑:该文件夹在创建时不存在。 Docker compose 正在创建文档中所述的文件夹。

最佳答案

阅读自:Dockers Volume Page

Volumes have several advantages over bind mounts:

New volumes can have their content pre-populated by a container.



所以一个简单的 docker-compose(在一个名为 nginx 的文件夹中):
version: "3.7"
volumes:
xmpl:

services:
testnginx:
image: nginx:stable
volumes:
- xmpl:/etc/nginx
将产生 上的所有文件主持人系统通过:
$ docker-compose up
$ docker inspect nginx_xmpl
...
"Mountpoint": "/var/lib/docker/volumes/nginx_xmpl/_data"
然后您可以查看 上的文件主持人 :
# ls /var/lib/docker/volumes/nginx_xmpl/_data                               
conf.d fastcgi_params koi-utf koi-win
mime.types modules nginx.conf scgi_params
uwsgi_params win-utf
最后从 ./config 使用它:
# ln -s /var/lib/docker/volumes/nginx_xmpl/_data ./config
# ls config
conf.d fastcgi_params koi-utf koi-win
mime.types modules nginx.conf scgi_params
uwsgi_params win-utf

关于docker - 如何使用 docker-compose 将 docker 容器目录映射到主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59159241/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com