Это как раз связано с тем, что сеть до контейнера не доходит.
Проверьте, пожалуйста, через мобильный интернет ваш адрес и порт, т.е. попробуйте в браузере: http://xx.xxx.xxx.xxx:28968, если всё работает, то покажет немножко информации и статус.
Тогда это точно проблема с виртуальной сетью docker desktop.
Ещё, конечно, возможно, что правило проброса порта не на тот IP указывает. Проверьте пожалуйста, что локальный IP, указанный в правиле, соответствует IP хоста.
Если с правилом всё хорошо, тогда попробуйте сброс до заводских в Docker Desktop. Кстати, какой engine используется? Hyper-V или wsl2?
Если у вас в команде docker run указан локальный IP или 127.0.0.1 в порт-маппинге (опция -p), попробуйте без них.
Ещё можно попробовать использовать --network host, но тогда все частные порты тоже придётся поменять, потому что они уже заняты сервисом storagenode.
Да, надо деинсталлировать Docker Desktop, потом “Windows Subsystem for Linux” из компонентов, обязательно перезагрузиться, затем поставить компонент “Windows Subsystem for Linux” обратно.
For those with QUIC errors: I had problems with QUIC, two days ago. I’m using Docker in Windows.
Somehow after WSL update, the containers got online for a second, then downloading/uploading a few pieces, then the port got closed… the error was something like that:
WARN contact:service Your node is still considered to be online but encountered an error.
"Error": "contact: failed to ping storage node using QUIC, your node indicated error code: 0, rpc: quic: timeout: no recent network activity"
What I did: reinstalled Docker with Hyper-V instead of WSL, and it worked.
Heads up: I’m not sure, but I guess Hyper-V is still only supported under Windows 10 Pro.
You are correct, Hyper-V requires Pro or Server version of Windows. Actually the Server version is recommended due to licensing.
This is why I suggested to use Hyper-V instead of WSL2, because Hyper-V was before and worked stable, however not all versions of Docker Desktop were stable.
Spin-up a Hyper-V VM Linux or WSL2 VM and install docker CLI, then make port-forwarding to the IP of the VM.
With WSL2 VM you may have a difficulty to make a port-forwarding rule, because by default it has a dynamic IP, but it’s solvable:
However, there is another downside of WSL2 VM, the Windows proxy is unable to forward UDP ports:
So if your Windows version allows you to use Hyper-V, then it’s better either to switch the docker desktop engine to Hyper-V or spin-up a Hyper-V Linux VM and connect it to your network card, this will present the Hyper-V VM as a separate PC in your network.
If you would go with Docker desktop and Hyper-V, it will not appear as a separate PC, it will integrate containers with your Windows, that they would look like native. The downside is that you need to login to your session to run docker desktop.
With an own Hyper-V VM it’s much easier to configure it to start after reboot automatically without needs to be logged-in.
The other alternative is to use a Rancher Desktop, it could work as a drop-in of Docker desktop, but it uses WSL2 too, so you may have the same issue as with Docker desktop with WSL2.
P.S. To use docker instead of nerdctl with a Rancher Desktop, you need to switch a docker context:
PS > docker context ls
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default Current DOCKER_HOST based configuration npipe:////./pipe/docker_engine
desktop-linux * Docker Desktop npipe:////./pipe/dockerDesktopLinuxEngine
switch:
PS > docker context use default
PS > docker context ls
NAME DESCRIPTION DOCKER ENDPOINT ERROR
default * Current DOCKER_HOST based configuration npipe:////./pipe/docker_engine
desktop-linux Docker Desktop npipe:////./pipe/dockerDesktopLinuxEngine
PS > docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eaa5bfa4c7de f7415d0003cb "entry" 5 minutes ago Up 5 minutes k8s_lb-tcp-443_svclb-traefik-f0f8f75c-jzv8z_kube-system_f5f2c49b-b5c0-4722-b414-c2403afc320b_3
....
If you do not want to use Kubernetes, you may disable it in the Rancher Desktop settings.
I tried to switch Docker Desktop to Hyper-V, one node works, the quick is back in order, but the other gives me hashstore error, …\s0\23, it doesn’t like the directory, for now I’m back on wsl2