TL;DR

  • Docker のコンテナの中から dockertest を使おうとしたが、立ち上がったコンテナに接続できなかった。
  • go コマンドがあればローカルの環境に影響を与えずに実行できるので、無理に Docker 上から使う必要はないと判断した。

検証

Go のテストで使う dockertest を、Docker のコンテナの中から実行してみた。dockertest が立ち上げたデータベースのコンテナに接続するため、DSN を指定した。

結果

DSN の指定がうまくいかず、立ち上がったコンテナに接続できなかった。

考察

公式のサンプルコードは、どれも sql.Open に localhost を直接指定している。dockertest は、Docker 上から使うことを想定していないようである。

少し引っかかるが、go コマンドがあればローカルの環境に影響を与えずにテストを実行できるので、無理に Docker 上から使う必要はないという結論にした。

キーワード

参考