在2个容器之间共享数据

时间:2017-07-03 08:45:47

标签: docker docker-compose dockerfile

我用Docker做一个Symfony项目。在开发中,我将源文件夹挂载在Nginx和PHP-FPM容器中。但是对于生产,我想把代码放在PHP-FPM容器中来做一个app容器,并与Nginx容器共享代码。

在我的Dockerfile中,我使用VOLUME /var/www/html,但是如何允许nginx容器访问此卷(在docker-compose文件中)? 在v3之前,我知道有一个volumes_from,但现在不行了。

我想将代码放在容器中,比如说这里(https://docs.docker.com/compose/production/

  

删除应用程序代码的任何卷绑定,以便代码保留在容器内并且无法从外部更改

非常感谢你的帮助

1 个答案:

答案 0 :(得分:0)

最后,我们可以使用命名卷来执行此操作,从Dockerfile中删除VOLUME,然后只定义名称卷,并获取第一个容器的值。

version: '3'

services:
    nginx:
        build: ./docker/nginx
        volumes:
            - app_data:/var/www/html:ro
        depends_on:
           - app

    app:
        build: ./
        volumes:
            - app_data:/var/www/html:rw
        networks:
            - default

volumes:
    app_data:
        driver: local