2017-11-02 20 views
1

ドッカーでユニットテストのデータベースをセットアップしようとしています。私は、テスト中にデータベースイメージを実行するライブラリを使用します。 Docsは言う:テスト環境用にドッカーデーモンを設定する方法

環境変数:

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 

もし

Testcontainersが順番に 次の戦略を使用して、ドッカーデーモンに接続しようとしますDocker Machineがインストールされている場合は、 最初のマシンが見つかりました。この を成功させるには、Docker MachineをPATHに配置する必要があります。

私はUbuntu 16.04にドッカーをインストールしていますが、このテストライブラリで使用するドッカーデーモンを設定する方法は不明です。どんな助け?

を(これは現時点では HTTP/HTTPS接続ではなくUnixのソケットに設定する必要があります)

それは、このソフトウェアのdoesnのように聞こえる:ドキュメントに基づいて

+0

標準的なUbuntuインストールでは、通常、特に設定する必要はありません。何かエラーがありますか?テストコンテナは飛行前のチェックを行います。これにより追加の洞察が得られます。 –

答えて

0

はあなたが含まスニペットUNIXソケット経由でDockerデーモンと通信することをサポートしていません。これはデフォルトの方法ですdockerDOCKER_HOSTが設定されていないと、CLIがドッカーに接続しようとします。

デフォルトの/var/run/docker.sock unixソケットに加えて、tcpソケットでリッスンするようにローカルで動作するデーモンを設定する必要があります。

これを手動で設定するには、TLS証明書を生成し、クライアントとサーバーの両方に手動で設定します。この手順の詳細は、Dockerの公式ドキュメントのProtect the Docker daemon socketの記事に記載されています。

+1

ここにTestcontainers投稿者:あなたが言及したドキュメントスニペットは古くなっています、これは申し訳ありません。テストコンテナは、今日のUNIXソケットや一般的にはデフォルトのUbuntu Dockerインストールでうまく動作します。 –

+0

@KevinWittekここで得られたものよりも正確な回答を提供したい場合は、古くなった情報に基づいてこの回答を取り消してください。 – programmerq

+0

私は実際のエラーを知った後、元の質問にさらに詳しい情報をお寄せいただきありがとうございます。 –

関連する問題