如何为测试环境配置docker守护进程

时间:2017-11-02 08:14:43

标签: docker testcontainers

我尝试使用docker设置单元测试agains数据库。我使用库,在测试期间运行数据库映像。 Docs说:

  

Testcontainers将尝试使用。连接到Docker守护程序   遵循以下策略:

     

环境变量:

DOCKER_HOST (this should be set to an
HTTP/HTTPS connection rather than a unix socket at present)

DOCKER_TLS_VERIFY
DOCKER_CERT_PATH
     

默认值:

DOCKER_HOST=https://localhost:2376
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=~/.docker
     

如果安装了Docker Machine,则为docker机器环境   找到第一台机器。为此,Docker Machine需要在PATH上   成功。

我在Ubuntu 16.04中安装了docker,但是没有强调如何配置docker守护进程以与此测试库一起使用。有帮助吗?

1 个答案:

答案 0 :(得分:0)

根据您提供的文件摘要:

  

(这应该设置为   HTTP / HTTPS连接,而不是目前的unix套接字)

听起来这个软件不支持通过unix套接字与Docker守护进程通信,这是常规docker CLI在DOCKER_HOST时尝试连接到docker的默认方法未设置。

除了默认的/var/run/docker.sock unix socket之外,您还需要配置本地运行的守护程序以侦听tcp套接字。

您可以通过生成TLS证书并将它们放在客户端和服务器上来手动设置它。有关此程序的详细信息,请参阅Docker官方文档中的Protect the Docker daemon socket文章。