Windows 如何在不同的主机上运行Testcontainers
当很多测试容器启动时,我的16GBMBP变得非常慢。我想在运行Windows的结实桌面上运行它们。如果这在我的本地网络之外运行,效果会更好。首先,在两台机器上安装VPN eg Tailscale。您需要这样做,因为Testcontainers使用的是随机端口,所以您不能只重定向您使用的端口,而是需要能够完全访问接口上所有可能的端口 客户 然后在使用Testcontainers调用测试的客户端上,编辑一些文件 在~/.docker-java.properties或C:/Users/myuser/.docker-java.properties中:Windows 如何在不同的主机上运行Testcontainers,windows,macos,docker,testcontainers,Windows,Macos,Docker,Testcontainers,当很多测试容器启动时,我的16GBMBP变得非常慢。我想在运行Windows的结实桌面上运行它们。如果这在我的本地网络之外运行,效果会更好。首先,在两台机器上安装VPN eg Tailscale。您需要这样做,因为Testcontainers使用的是随机端口,所以您不能只重定向您使用的端口,而是需要能够完全访问接口上所有可能的端口 客户 然后在使用Testcontainers调用测试的客户端上,编辑一些文件 在~/.docker-java.properties或C:/Users/myuser/.
DOCKER_HOST=tcp://DOCKER_HOST_VPN_IP:2375
DOCKER_TLS_VERIFY=0
docker.client.strategy=org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy
在~/.testcontainers.properties或C:/Users/myuser/.testcontainers.properties中:
DOCKER_HOST=tcp://DOCKER_HOST_VPN_IP:2375
DOCKER_TLS_VERIFY=0
docker.client.strategy=org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy
服务器
在运行Docker容器的机器上:
在Docker桌面的“设置”>“常规”中启用“公开守护程序”
在Windows上:
在提升的命令提示符下运行,将数据包从Tailscale IP转发到本地Docker:
netsh接口端口代理添加v4tov4 listenport=2375 connectaddress=127.0.0.1 connectport=2375 listenaddress=protocol=tcp
禁用专用网络的防火墙
在Linux上:
使用IPTABLES将端口2375上的传入流量路由到127.0.0.1:
iptables -t nat -A PREROUTING -p tcp --dport 2375 -j DNAT --to-destination 127.0.0.1:2375
iptables -t nat -A POSTROUTING -j MASQUERADE.
参考资料
[2]
[2] 首先,在两台机器上安装VPN eg尾秤。您需要这样做,因为Testcontainers使用的是随机端口,所以您不能只重定向您使用的端口,而是需要能够完全访问接口上所有可能的端口 客户 然后在使用Testcontainers调用测试的客户端上,编辑一些文件 在~/.docker-java.properties或C:/Users/myuser/.docker-java.properties中:
DOCKER_HOST=tcp://DOCKER_HOST_VPN_IP:2375
DOCKER_TLS_VERIFY=0
docker.client.strategy=org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy
在~/.testcontainers.properties或C:/Users/myuser/.testcontainers.properties中:
DOCKER_HOST=tcp://DOCKER_HOST_VPN_IP:2375
DOCKER_TLS_VERIFY=0
docker.client.strategy=org.testcontainers.dockerclient.EnvironmentAndSystemPropertyClientProviderStrategy
服务器
在运行Docker容器的机器上:
在Docker桌面的“设置”>“常规”中启用“公开守护程序”
在Windows上:
在提升的命令提示符下运行,将数据包从Tailscale IP转发到本地Docker:
netsh接口端口代理添加v4tov4 listenport=2375 connectaddress=127.0.0.1 connectport=2375 listenaddress=protocol=tcp
禁用专用网络的防火墙
在Linux上:
使用IPTABLES将端口2375上的传入流量路由到127.0.0.1:
iptables -t nat -A PREROUTING -p tcp --dport 2375 -j DNAT --to-destination 127.0.0.1:2375
iptables -t nat -A POSTROUTING -j MASQUERADE.
参考资料
[2]
[2]