【问题标题】:Running testcontainers inside a Docker container for Windows在 Windows 的 Docker 容器中运行测试容器
【发布时间】:2018-09-21 08:55:11
【问题描述】:

正如documentation 中所说,如果我想在 docker 中运行测试容器,我必须考虑以下几点:

  1. docker 套接字必须通过卷挂载可用
  2. “本地”源代码目录必须安装在容器内的同一路径上,Testcontainers 运行所在的路径,以便 Testcontainers 能够为它产生的容器。

如果我使用Docker for Windows,如何遵守第二点,主要是-v $PWD:$PWD条件?

【问题讨论】:

    标签: docker docker-for-windows testcontainers


    【解决方案1】:

    在 windows 上,docker 使用命名管道,而不是套接字。

    docker run -v \\.\pipe\docker_engine:\\.\pipe\docker_engine
    

    但您需要 Windows v1709 和 Docker for Windows 的特殊版本,因为此功能是实验性的。

    更多信息: https://blog.docker.com/2017/09/docker-windows-server-1709/

    至于 $PWD,在 windows cmd 上你可以使用 %CD% 变量来完成同样的工作。 Powershell 也有一个$pwd,和 linux 一样。但不幸的是,它们不适用于 docker-compose,因为它们不是真正的环境变量。

    我认为最简单的方法是在 Windows 上执行一个简短的脚本来创建 .env 文件,其中 PWD= 将设置为当前目录:

     echo PWD=%cd% > .env
    

    你可以在 docker-compose 中使用 $PWD,就像在 linux 上一样。

    【讨论】:

    • 但这是针对 Windows 容器的,而 Testcontainers 是针对 Linux 容器的。
    猜你喜欢
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多