1

我尝试使用 docker 对数据库进行单元测试。我使用库,它在测试期间运行数据库映像。文档说:

测试容器将尝试使用以下策略依次连接到 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 守护程序以与此测试库一起使用。有什么帮助吗?

4

1 回答 1

0

根据您包含的文档片段:

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

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

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

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

于 2017-11-02T15:45:07.330 回答