Proxy beállítása Dockerben (konténerek, Compose és buildek)
Updated:
Ha többkonténeres webkaparókat, automatizálási folyamatokat vagy DePIN-csomópontokat futtat egyetlen kiszolgálón, a HTTP_PROXY és HTTPS_PROXY környezeti változók konténerenkénti átadásával minden szolgáltatás a VinaProxy saját, dedikált statikus IPv4-címén keresztül kommunikálhat anélkül, hogy módosítaná a gazdagép útválasztási táblázatát.
ENV HTTP_PROXY=http://user:pass@ip:port HTTPS_PROXY=http://user:pass@ip:port- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
- 1 IP40 000 VND
- 5+ IP35 000 VND
- 10+ IP25 000 VND
- 20+ IP25 000 VND
- 50+ IP25 000 VND
- 100+ IP25 000 VND
- 200+ IP25 000 VND
- 500+ IP25 000 VND
- 1000+ IP22 000 VND
- 2000+ IP20 000 VND
A 3 Docker proxy-konfigurációs szint ismertetése
A Docker különválasztja a konténerek futásidejű forgalmát, a lemezkép-összeállítási (build) forgalmat és a démon regisztrációs letöltéseit:
| Docker-hatókör | Hol konfigurálható | Mit irányít át |
|---|---|---|
| 1. Konténer futásideje | docker run -e HTTP_PROXY=... vagy Compose environment: | Az adott konténeren belüli alkalmazás által indított forgalom |
2. Lemezkép-összeállítás (docker build) | --build-arg HTTP_PROXY=http://user:pass@ip:port | Csomagkezelői letöltések (apt, pip, npm) a buildelés során |
3. Docker démon (dockerd) | /etc/systemd/system/docker.service.d/http-proxy.conf | docker pull és docker push kérések a regisztrációs adatbázisokhoz |
Docker Compose bevált gyakorlatok és NO_PROXY szabályok
- Állítsa be a nagybetűs (
HTTP_PROXY,HTTPS_PROXY,NO_PROXY) és a kisbetűs (http_proxy,https_proxy,no_proxy) változókat is, hogy minden Linux CLI-eszköz és futtatókörnyezet érzékelje őket - Mindig adja meg a belső Docker Compose szolgáltatásneveket (pl.
NO_PROXY=localhost,127.0.0.1,redis,postgres), így a konténerek közötti belső forgalom a helyi bridge hálózaton marad - Soha ne égesse be a proxy-jelszavakat nyilvános lemezképekbe a
Dockerfile-on belüliENVsegítségével – adja át őket futási időben a.envvagy adocker-compose.ymlfájlon keresztül
Lépésről lépésre
- 1
Formázza a proxyt http://user:pass@ip:port alakban
Alakítsa át a VinaProxy
ip:port:user:passformátumú sorát a Proxy Format Converter eszközünkkel. - 2
Adja hozzá a környezeti változókat a docker-compose.yml fájlhoz
A szolgáltatás
environment:része alatt adja meg aHTTP_PROXY,HTTPS_PROXY,http_proxy,https_proxyésNO_PROXY=localhost,127.0.0.1,redis,dbváltozókat. - 3
Indítsa el vagy hozza létre újra a konténert
Futtassa a
docker compose up -dparancsot a környezeti változók érvényesítéséhez. - 4
Ellenőrizze a kimenő IP-címet a konténeren belülről
Futtassa a
docker exec -it <container> curl -s https://vinaproxy.com/api/my-ipparancsot annak ellenőrzésére, hogy a konténer a proxy IP-jén keresztül lép-e ki.
Gyakran ismételt kérdések
Miért nem éri el a konténerem a Redis vagy Postgres konténert a HTTP_PROXY beállítása után?
A NO_PROXY megadása nélkül a HTTP-kliens a külső proxyn keresztül próbálja meg elérni a belső szolgáltatásneveket, például a redis vagy db címet. Adja hozzá a NO_PROXY=localhost,127.0.0.1,redis,db (és a kisbetűs no_proxy) változót, hogy a belső bridge hosztok kikerüljék a proxyt.
Hozzárendelhetek 20 különböző proxyt 20 konténerhez egyetlen VPS-en?
Igen. Adja meg az egyes konténerszolgáltatásokat (vagy adjon át külön .env változókat) a saját http://user:pass@ip:port karakterláncukkal.
Miért kell beállítani mind a nagybetűs, mind a kisbetűs proxy-változókat?
Néhány Linux-könyvtár (mint a libcurl) először a kisbetűs http_proxy / https_proxy változókat vizsgálja meg, míg a Go és Node alapú eszközök gyakran a nagybetűs HTTP_PROXY / HTTPS_PROXY formátumot veszik figyelembe.
Rendeljen dedikált statikus IP-t minden Docker-konténerhez
Azonnali, korlátlan Dedikált IPv4 és Statikus ISP proxyk 7 országban.
Docker proxyk vásárlása