【问题标题】:Working directory when running a Docker container with a Docker-Compose file使用 Docker-Compose 文件运行 Docker 容器时的工作目录
【发布时间】:2020-03-26 21:22:38
【问题描述】:

我正在尝试设置一个使用 Docker 容器运行测试的 CI 管道。管道应该基于我已经拥有的图像创建一个容器,并在完成后删除该容器。

对于我的测试,我需要挂载一些卷并将一些端口从我的跑步者绑定到我的容器,所以为了简化事情,我想使用一个经常存储在 @ 中的 docker-compose 文件987654321@ 我的跑步者。

问题如下: 在我的 docker-compose.yml 我有以下几行,将当前工作目录绑定到我容器中的 HTML 文件夹:

volumes:
  - .:var/www/html

当我使用命令 docker-compose -f "/home/runner/docker/docker-compose.yml" -d 时,. 应该是 GitLab CI 将我的项目克隆到的任何文件夹,而不是当前的 /home/runner/docker

有没有办法让. 成为我的克隆项目文件夹(没有硬编码名称),或者我最好在我的 GitLab CI 脚本中执行 docker run

【问题讨论】:

  • docker-compose.yml 文件符号链接到当前目录并从那里运行docker-compose 有帮助吗?

标签: docker docker-compose yaml gitlab-ci


【解决方案1】:

一种选择可能是使用环境变量来定义存储库的路径,这样就可以代替

volumes:
  - .:var/www/html

你有

volumes:
  - ${YOUR_REPO}:var/www/html

这样你只需要在运行docker-compose之前设置YOUR_REPO就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多