docker - 从另一个任务到达另一个任务任务的容器

标签 docker concourse

  - aggregate:
    - task: run-frontend-server # Serve the frontend
      file: devops-repo/pipeline/tasks/serve-client-dist.yml
      image: client-dist-image
    - task: test-frontend # Fire tests at the frontend
      pull: run-frontend-server
      file: devops-repo/pipeline/tasks/test-e2e.yml
      image: docker-registry-protractor

在这里,我想在一个容器中运行 protractor 测试,该容器会触发upp chrome和firefox进行前端测试,而在另一个容器中,我要提供SUT,即我要测试的页面。

在任务文件中,所有内容都设置为指向localhost,但是如您所见,我想连接到为网页提供服务的外部容器(第一个任务的容器)。可以在不使用docker-compose的情况下从场所完成此操作吗?

最佳答案

总体而言,您的受测系统并非要在任务容器中运行。任务/构建容器是随随便便的网络和文件系统旋转的临时容器,因此无法在容器之间进行明确的对话。

此外,您的任务容器可以在完全不同的工作程序上运行,这些工作程序不一定具有彼此对话的能力。

相反,您应该使用某种外部的永久集成系统,或者在与运行测试相同的任务容器中运行SUT。

关于docker - 从另一个任务到达另一个任务任务的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40848221/

相关文章:

concourse - 在大厅中,您如何劫持通过 `fly execute` 制作的容器

continuous-integration - 如何在 Mac 上安装 Fly CLI

amazon-web-services - AWS CloudFormation 键不接受特殊字符

concourse - 如何使用特定用户运行 Concourse CI 作业任务?

git - Concourse:使用 HTTP 请求触发作业

docker - 连接总线失败 : Host is down in ubuntu

docker - 来自 dockerfile 的交互式 docker 构建?

java - 使用 Docker-Compose 运行多个 Spring-Boot 应用程序

docker - 如何在gitlab CI中的docker-in-docker(dind)中设置代理

php - 从主机访问 docker 回答 curl : (56) Recv failure: Connection reset by peer