first im running sparkbox on proxmox as an lxc but i plan to move to a much bigger bare metal machine i was just testing it out and love the program you have designed but when i try to run sparkbox update on the console of proxmox it fails on the gluten everytime, and when i try to install any other apps it fails to pull the images saying network not reachable, but i can ping 8.8.8.8 from inside the box so i cant figure out why it wont pull the images to install the apps, or do a repull for the sparkbox update command. Now keep in mind gluten is working perfectly fine and have checked to make sure with the commands you have said to use and it does report back the ip i intend it to be, slash country im routing through, so any ideas?
5 replies
tomspark wrote:
Glad you're liking it, and good news: gluetun isn't the problem here. The tell is that you can reach 8.8.8.8 (a raw address) but image pulls fail. That almost always means the box can reach the internet but can't translate names like docker.io into addresses, i.e. name lookup (DNS) isn't resolving inside the container. Quick check: run ping google.com . If that fails while ping 8.8.8.8 works, that confirms it. The fix is giving the box a working resolver (e.g. add nameserver 8.8.8.8 to its network config). Heads up too: SparkBox is built and tested for bare metal or a full VM, not LXC containers, so Docker-in-LXC networking gets finicky. Your planned move to bare metal will clear most of this up. Let me know what ping google.com says and we'll go from there.
Linux1215 wrote:
got ya. ping google.com worked perfect zero lost packets. i have no other dns apps aka pihole, adguard, running just the router from the provider. So what can i try before i move everything over?
tomspark wrote:
Good, that rules out name lookup then. When the box can reach the internet by name but Docker pulls still say 'network not reachable,' the usual culprit inside an LXC is Docker trying to reach the registry over IPv6 when the container has no working IPv6 route, so it gives up with that error. To confirm, run docker pull hello-world and paste the full error line. If it shows something like 'dial tcp [2600:...]:443: connect: network is unreachable,' that's exactly it. The fix is stopping Docker from using IPv6 (easiest is turning IPv6 off on the LXC, or telling the box to prefer IPv4). Send me that error line and I'll give you the precise one-liner.
Linux1215 wrote:
Error response from daemon: failed to resolve reference "docker.io/qmcgaw/gluetun:v3.41.1": failed to do request: Head "https://registry-1.docker.io/v2/qmcgaw/gluetun/manifests/v3.41.1": dial tcp [2600:1f18:2148:bc00:795:f829:e991:ed6b]:443: connect: network is unreachable
tomspark wrote:
That's the one, that 2600:... address is IPv6 and your LXC has no IPv6 route, so Docker tries IPv6 first and gives up. Fix is to turn IPv6 off so it falls back to IPv4. Run this on the box: echo 'net.ipv6.conf.all.disableipv6=1' | sudo tee /etc/sysctl.d/99-no-ipv6.conf && sudo sysctl --system && sudo systemctl restart docker Then run sparkbox update again, it'll pull over IPv4. If the container won't let you set that (unprivileged LXCs sometimes block it), do it from the Proxmox host instead: open the container's Network settings, set IPv6 to 'none', and reboot it. Either way clears it. Let me know how it goes.