Docker Compose 如何在容器之间共享文件

4
我有一个nginx容器和服务器容器。 我想通过服务器容器编辑nginx的htpasswd文件, 我如何访问另一个容器中的文件? 我使用docker-compose但不知道如何访问另一个容器的路径。
我搜索了一些类似于Windows网络共享(net use或类似)但是在容器中的解决方案。 htpasswd文件不会存储在主机上,所以添加卷选项不可行(我希望让服务器创建此文件)。
1个回答

3
您可以将一个容器中的卷添加到另一个容器中。 例如:
php:
 image: php:fpm-alpine
 container_name: php
 volumes:
   - .:/var/www/order
 entrypoint:
   - php-fpm
 links:
   - mysql


nginx:
 image: nginx:alpine
 container_name: nginx
 volumes_from:
   - php
 volumes:
   - ./build/nginx.conf:/etc/nginx/conf.d/default.conf
 links:
   - php
 ports:
   - 8080:80

现在,在nginx容器中可以访问php卷。

1
我认为volumes_from在3版本中已被弃用。 - Elzo Valugi
@ElzoValugi 谢谢,你有参考资料吗?你在考虑其他的答案吗? - fundagain
https://dev59.com/WFcP5IYBdhLWcg3wN3mP - fundagain
这是错误的,会导致循环依赖:php -> mysql -> php。 - yosemeti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接