Scala で docker テストを設定しようと必死です。
環境をセットアップする方法を理解するために、GitHub でサンプル プロジェクトを作成しました。ここから入手できます: https://github.com/atais/sbt-scala-docker-cassandra
spotify/cassandra:latest
画像https://github.com/spotify/docker-cassandraを選択しました。
私は ScalaTest を使用しているので、Scala ラッパーの 1 つを使用したかったのですが、どちらも失敗しました。
1. https://github.com/whisklabs/docker-it-scala
コンテナーは次のように定義されます。
val cassandraContainer: DockerContainer = DockerContainer("spotify/cassandra:latest")
.withPorts(9042 -> None, 9060 -> None)
プロジェクトにありCassandraDockerTest
ます。
2. https://github.com/testcontainers/testcontainers-scala
コンテナーは次のように定義されます。
override val container = GenericContainer(
"spotify/cassandra:latest",
exposedPorts = Seq(9042, 9160)
)
プロジェクトにありCassandraContainerTest
ます。
私の仮定
(どちらの場合も) 問題と思われるのは、コンテナーは起動しますが、ポートにアクセスできないことです。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7cb5fc91a97d spotify/cassandra:latest "cassandra-singlenode" 3 seconds ago Up 2 seconds 0.0.0.0:33121->22/tcp, 0.0.0.0:33120->7000/tcp, 0.0.0.0:33119->7001/tcp, 0.0.0.0:33118->7199/tcp, 0.0.0.0:33117->8012/tcp, 0.0.0.0:33116->9042/tcp, 0.0.0.0:33115->9160/tcp, 0.0.0.0:33114->61621/tcp quirky_chandrasekhar
とで利用できるようにし9042
たいのですが、何らかの理由で、構成が指定されているにもかかわらず利用できません。9160
0.0.0.0
ありがとう!