Open suchja opened 1 year ago
Unfortunately, this feature is not supported in Testcontainers for .NET due to limitations in Docker.DotNet. Until it becomes supported in Docker.DotNet, there is not much we can do, - sorry. For some time now, I have been considering generating and implementing a .NET client from the official OpenAPI specification, including adding support for various contexts, but I haven't had the time yet. As a workaround you can expose the Docker endpoint via HTTP (TCP).
@HofmeisterAn thanks for the blazingly fast response! I fully understand the situation and also saw dotnet/docker.dotnet#575 which might provide a solution, once it is finished.
Anyhow, the only change I propose to consider is to add a short statement in the docs. That would have saved me a ton of time. Thanks for your support.
PS: On my way to give TCP a try. PPS: For any one who comes a cross this issue and is in the same situation like me, docker/for-mac#6165 might be interesting.
I have started to look into generating the Docker client from the OpenAPI specification. A nice convolution is that we can utilize Testcontainers for implementing and testing the client. Unfortunately, it looks like there is a bit more work ahead of us (instead of just adding support for the missing "schemes"):
Testcontainers version
3.2.0
Using the latest Testcontainers version?
Yes
Host OS
MacOS with Parallels-VM running Windows
Host arch
x64
.NET version
6.0.400 (also tried 7.0.400 und .NET Framework 4.8)
Docker version
Docker info
What happened?
I wanted to follow a simple Testcontainers Tutorial in my environment. I'm running an Intel Mac with Ventura 13.5.1. This runs Docker Desktop as well as Windows 11 Pro in a Parallels VM. As I don't want to run Docker inside the Parallels-VM, I thought it would be great to simply use the Docker Engine on my Mac as a remote Docker Host. I already had SSH configured so I updated my
.testcontainers.properties
file as follows:Running the example (see below) results in
Exception: Unknown URL scheme ssh
. There is no additional information what this means and where it comes from.Relevant log output
No response
Additional information
After several hours of searching and trying different configurations, I came across dotnet/docker.dotnet#540 . Which sounds to me like this is causing the problem I have.
As my use case seems to be rare (at least I didn't find further reports), I accept that there will be no change. However, it would be really awesome, if the documentation could give a hint about this. For example a simple note like SSH is not supported for connecting to remote host. at this paragraph, would be really good.
Here is the example I've used (yes, it is VB.Net, but C# would be the same):