Hi, I’m trying to debug some integration tests that rely on docker-compose to start a few services and noticed that my network connections were failing. After reading carefully the documentation with respect to service containers and jobs that run on the github-runner I was fairly sure that my jobs that run on the runner should be able to access services with mapped ports exposed in the docker-compose.yml (on localhost), so I added a “docker ps -a” command to see what is going on and noticed that not all of my containers are starting and exposing their services.
Here’s whatt I see:
Run docker ps -a 6 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7 eeabf7394054 katzenpost/server "/bin/sh -c '/go/bin…" 2 seconds ago Up Less than a second nonvoting_mixnet_mix3_1 8 3d19f1dea1d5 katzenpost/server "/bin/sh -c '/go/bin…" 2 seconds ago Up Less than a second nonvoting_mixnet_mix1_1 9 d9e1a89e9f8d katzenpost/server "/bin/sh -c '/go/bin…" 2 seconds ago Up Less than a second nonvoting_mixnet_mix2_1 10 52f1b2c2c8b8 katzenpost/server "/bin/sh -c '/go/bin…" 4 seconds ago Up Less than a second 127.0.0.1:29484->29484/tcp, 127.0.0.1:36967->36967/tcp nonvoting_mixnet_provider2_1 11 ef67c826ae33 katzenpost/server "/bin/sh -c '/go/bin…" 5 seconds ago Restarting (255) 2 seconds ago nonvoting_mixnet_provider1_1 12 ec0608a7573b katzenpost/nonvoting_authority "/bin/sh -c '/go/bin…" 5 seconds ago Restarting (255) 2 seconds ago nonvoting_mixnet_auth_1
and then my tests fail to connect to the exposed port (not shown above, as it is one of the restarting services)
=== RUN TestDockerPandaSuccess 46 10:14:08.102 DEBU pki/nonvoting/client: Get(ctx, 103422) 47 client_docker_test.go:67: 48 Error Trace: client_docker_test.go:67 49 client_docker_test.go:131 50 Error: Received unexpected error: 51 Error: dial tcp 127.0.0.1:29483: connect: connection refused 52 Test: TestDockerPandaSuccess 53 --- FAIL: TestDockerPandaSuccess (0.00s) 54
Are there some limits that I might be somehow exceeding and how would I find this? Nominally these tests work locally so I’m pretty sure the docker-compose stuff should be working.
You can find the docker-compose.yml file at:
and the github runner test code that produces the lines above:
I have a feeling I’m missing something simple, so thank you for taking a look