Conseils Rapides, Internet
     

Proxy Docker auto-hébergé

Comme beaucoup aux États-Unis, j’ai exceptionnellement lent à la maison Internet. En fait, jusqu’à récemment, mon Internet n’était même pas considéré comme « haut débit » tel que défini par la FCC. Grâce au passage au nouvel Internet à domicile de T-Mobile, j’ai à peine grincement au-delà du seuil minimum de 25 Mbps de large bande.

picture of rural road
Internet lent?

Si vous êtes comme moi, alors vous pouvez vous rapporter quand je dis que j’ai pris de grandes mesures pour étirer notre bande passante Internet aussi loin qu’il peut aller. La plupart de cela est un sujet pour un autre jour – même si je peux résumer en disant que OpenWRT est un produit merveilleux – ce que je voudrais parler aujourd’hui est Docker.

Docker a été un incroyable coup de pouce de productivité depuis que j’ai commencé à l’utiliser en 2014. La capacité de définir rigoureusement l’environnement d’exploitation (et par extension les dépendances) d’une application améliore sa résilience. La plupart du temps disparu sont les jours de « il fonctionne sur ma boîte » – avec Docker votre « boîte » est le même que la production, à chaque fois! Pour cette raison, je vois les conteneurs Docker comme jetables – Si l’application change, reconstruisez le conteneur.

Toute cette reconstruction peut laisser un « creuset » supplémentaire traîner autour de la consommation d’espace précieux disque dur. Bien que les conteneurs eux-mêmes soient jetables, des outils comme Docker Compose conservent les volumes entre l’exécution. Ces deux créer un problème qui peut facilement être corrigée par diverses commandes de purge Docker.

Je ne sais pas pour vous, mais je suis sacrément paresseux parfois, et se souvenir de toute la variété des commandes Docker, le bon ordre de les exécuter, et effectivement faire cela, est beaucoup d’efforts gaspillés. J’ai certainement des tâches plus importantes à faire, et des choses à retenir. Donc, comme tout bon développeur paresseux, je viens d’appuyer sur ce merveilleux « Clean / Purge données » bouton. Et, comme par magie, mon environnement Docker est une fois de plus propre et prêt à se remettre au travail.

Le bouton magique – en supposant que vous avez de bonnes vitesses Internet

Sauf… La prochaine fois que Docker reconstruit, il doit tirer des images du hub Docker.

Normalement, ce ne serait pas un problème. Et, par « normalement », je veux dire « si votre Internet ne suce pas, ce n’est pas un problème ». La plupart des images docker sont relativement petites, pesant à seulement quelques centaines de mégaoctets (et dans certains cas beaucoup plus petit que cela). Toutefois, lorsque votre Internet est sous-alimenté, et surutilisé par une famille de 6 personnes qui sont coincés à la maison en raison de COVID-19, cela peut signifier un temps d’infa chute grave dans la productivité. C’est là que je suis devenu créatif et hébergé mon propre proxy Docker.

La configuration est assez simple. Sur mon serveur d’accueil (vous avez un serveur à domicile, non??) Je tire et configure le registre Docker :

La configuration ici est assez minime. La seule chose que vous devez changer (par rapport à la simple copie et le pâturage de ce qui précède) est le volume monté. Le chemin sur ma machine est « / mnt / simple-stockage » – changer cela à quelque chose sur votre serveur d’accueil. Ce sera le chemin que le registre utilise pour mettre en cache tous les conteneurs que vous tirez.

Maintenant, sur votre poste de travail, modifiez votre configuration de moteur Docker. Sur mon Mac, c’est accessible en cliquant sur « Préférence… » et puis « Docker Engine » de l’icône baleine Docker dans la barre de menu. Dans les paramètres JSON, ajouter ce qui suit:

Bien sûr, vous devrez modifier l’URL pour pointer vers votre serveur d’accueil. Dans mon cas saturn.lan.whitehorn.us est le nom DNS pour mon serveur à domicile, le vôtre sera probablement une adresse IP. La configuration finale devrait ressembler à ceci :

Avec ça, tu as fini.

La prochaine fois que vous tirez une image Docker de votre poste de travail, il faudra le même temps que la normale. C’est parce que vos postes de travail vont tendre la main à votre serveur d’accueil pour obtenir cette image, votre serveur d’accueil ne l’aura pas et donc avoir à le chercher à travers votre (sans doute meux) FAI avant de mettre en cache le résultat. La prochaine fois que vous tirez la même image, cependant, les choses sont différentes.

Lorsque votre poste de travail demande, si votre serveur d’accueil l’a déjà mis en cache, il répondra aussi vite que votre LAN à domicile peut répondre – ce qui est sacrément rapide.

About Jason

Jason est un entrepreneur expérimenté et développeur de logiciels qualifié dans le leadership, le développement mobile, la synchronisation des données et l’architecture SaaS. Il a obtenu son baccalauréat ès sciences (B.S.) en informatique de l’Université d’État de l’Arkansas.
View all posts by Jason →

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *