在两个容器之间共享/ tmp

时间:2016-09-13 13:42:26

标签: docker docker-compose

我使用docker-compose生成两个容器。我想在这两个容器之间共享/tmp目录(如果可能的话,不要与主机/tmp共享)。这是因为我通过flask/tmp上传了一些文件,并希望从celery处理这些文件。

flask:
    build: .
    command: "gulp"
    ports:
        - '3000:3000'
        - '5000:5000'
    links:
        - celery    
        - redis
    volumes:
        - .:/usr/src/app:rw

celery:
    build: .
    command: "celery -A web.tasks worker --autoreload --loglevel=info"
    environment:
        - C_FORCE_ROOT="true"
    links:
        - redis
        - neo4j
    volumes:
        - .:/usr/src/app:ro

1 个答案:

答案 0 :(得分:4)

您可以使用指定的卷:

flask:
    build: .
    command: "gulp"
    ports:
        - '3000:3000'
        - '5000:5000'
    links:
        - celery    
        - redis
    volumes:
        - .:/usr/src/app:rw
        - tmp:/tmp

celery:
    build: .
    command: "celery -A web.tasks worker --autoreload --loglevel=info"
    environment:
        - C_FORCE_ROOT="true"
    links:
        - redis
        - neo4j
    volumes:
        - .:/usr/src/app:ro
        - tmp:/tmp

当compose为第一个容器创建卷时,它将使用图像中的/ tmp内容进行初始化。之后,它将一直持续到docker-compose down -v删除。