0

文档中所述,如果我想在 docker 中运行 testcontainers,我必须考虑以下几点:

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

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

4

1 回答 1

0

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

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

但是你需要 Windows v1709 和 Windows 的特殊版本的 Docker,因为这个功能是实验性的。

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

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

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

 echo PWD=%cd% > .env

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

于 2018-04-11T13:13:23.710 回答