【问题标题】:Docker. Create volume in volume码头工人。在卷中创建卷
【发布时间】:2018-07-29 14:52:09
【问题描述】:

我必须在 Docker 中创建卷中的卷。

这是我的docker-compose.yml

version: '3'
services:
    app:
        container_name: app
        build:
            context: ./
            dockerfile: docker/app.docker
        volumes:
            - ./:/var/www
            - selenium_downloads:/var/www/storage/selenium-downloads
        links:
            - selenium

    selenium:
        container_name: selenium
        build:
            context: ./
            dockerfile: docker/selenium.docker
        volumes:
          - selenium_downloads:/home/seluser/Downloads


volumes:
    selenium_downloads:

如您所见,我正在与卷共享我的项目代码。在里面我想在 app/selenium 容器之间共享 selenium 下载。

我不知道为什么,但我的设置不起作用。

可以这样做吗?如果是,那怎么办?

【问题讨论】:

    标签: laravel selenium docker docker-compose dockerfile


    【解决方案1】:

    我相信你的 selenium 容器正在下载 selenium 包,所以容器创建的顺序应该是,1. Selenium,2.App。

    使用 services:

    app:

    image: dockersamples/example

    depends_on: - selenium

    还可以通过docker exec -ti container-id 进入容器内部,查看您使用卷映射的目录中是否存在文件。

    【讨论】:

    • 您能否详细说明您的答案?订单有什么问题?我有这样的流程selenium 下载文件 -> app 处理文件 -> 我在本地机器上看到了结果。
    • 所以为了维护 selenium 先下载文件然后再被应用程序使用的顺序,您需要在应用程序服务下指定它依赖于 selenium,以便 compose 先创建 selenium 容器,然后再创建它将创建应用容器。
    • 但它确实做到了。 links 的行为方式相同。我在构建/设置期间没有错误。
    猜你喜欢
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    相关资源
    最近更新 更多