• Digitaaliset tarvikkeet
  • Palvelin
  • Digitaalinen elämä
  • Tietosuojakäytäntö
  • Ota meihin yhteyttä
  1. Home
  2. Article
  3. Haluatko useita Docker-kontteja samaan porttiin? Toimi näin

Haluatko useita Docker-kontteja samaan porttiin? Toimi näin

Rsdaa 31/12/2021 1092

Docker auttaa verkkokehittäjiä saamaan sovelluksensa verkkoon ilman virheitä.

Vaikka Dockerin käyttö kehitystyössä on intuitiivinen ja helppokäyttöinen, Dockerin käyttäminen tuotantopalvelimissa on täynnä ongelmia.

Täällä osoitteessa Bobcares.com autamme verkkokehittäjiä ja digitaalisia markkinoijia asentamaan ja ylläpitämään Docker-pohjaisia ​​verkkopalvelupalvelimia.

Ja yhteinen haaste, jonka ratkaisemme, on: "Kuinka käyttää yhtä palvelinta useiden satojen Docker-säilöillä toimivien sivustojen ajamiseen."

Miksi useat säilöt eivät voi sitoutua samaan HTTP-porttiin?

Verkkosivustot kuuntelevat porttia 80 vastaanottaakseen pyyntöjä ja palvellakseen sivuja.

Joten jokaisen verkkosivuston Docker-kontin portti 80 on auki.

Docker-isännällä on kuitenkin vain yksi portti 80, ja se voi vastaanottaa pyyntöjä vain yhdestä näistä säilöistä.

Docker voidaan määrittää sitomaan jokainen säilö erillisiin palvelinportteihin. Sille esim. sitoa Docker 1:n portti 80 palvelinporttiin 8080, Docker 2:n portti 8081:een jne.

Mutta koska selaimet muodostavat oletusarvoisesti yhteyden porttiin 80 eivätkä 8080 tai 8081, nämä sivustot eivät ole näkyvissä.

Käänteisen välityspalvelimen käyttäminen useiden säilöjen suorittamiseen yhdellä palvelimella

Käänteinen välityspalvelin on ohjelma, joka hyväksyy yhteydet portissa 80 ja lähettää sen yhdelle tai useammalle palvelimelle takapäässä.

Jos voimme asettaa käänteisen välityspalvelimen kuuntelemaan 80:tä ja saada sen jakamaan liikenteen verkkotunnusten perusteella, voimme isännöidä useita verkkotunnuksia yhdellä portilla 80.

On olemassa monia käänteisiä välityspalvelimia, kuten HAProxy, Nginx ja Varnish.

Olemme havainneet, että Nginx-säilöt sopivat hyvin useimpiin Docker-pohjaisiin verkkopalvelutarkoituksiin.

HTTP-yhdyskäytävän määrittäminen Nginx-säilön avulla

Nginx-yhdyskäytävän määrittäminen koostuu kolmesta osasta:

Suorita Nginx-säilö Tee Nginx-määritystiedostot muokattavissa aseman kautta. Määritä Nginx muodostamaan yhteys verkkosivuston sisäiseen IP-osoitteeseen

1. Sido Docker-isännän portit 80 ja 443 Nignx-säilöyn

Jotta Nginx toimii yhdyskäytävänä, sillä on oltava Docker-isäntäpalvelimen HTTP- ja HTTPS-porttien hallinta.

Asettaaksesi sen, asenna telakointiaseman kirjoitustiedosto "ports"-direktiivillä seuraavasti:

http-yhdyskäytävä:säilön_nimi: http-rev-proximage: jwilder/nginx-proxyports:- '80:80'- '443:443'

Verkkosivustosi tarpeista ja liikennemalleista riippuen saatat tarvita lisäasetuksia, kuten "CLIENT_MAX_BODY_SIZE" ja "PROXY_READ_TIMEOUT", jotka on asetettu "ympäristö"-direktiivissä.

2. Tee Nginx-määritystiedostosta muokattavissa säilön ulkopuolelta

Joillakin asiakkaillamme on Docker-palvelimia, jotka sisältävät satoja sivustoja.

Näillä palvelimilla lisäämme, muokkaamme ja poistamme verkkosivustoja melko säännöllisesti.

Tätä varten on tärkeää pystyä muokkaamaan Nginx-määritystiedostoa ilman, että Nginx-kuvaa tarvitsee luoda uudelleen.

Käytämme tähän Docker Volumesia, joissa Nginx-määrityskansio "/etc/nginx/conf.d/" on asennettu ulkoiseen hakemistoon, kuten "/usr/docker/nginx/conf.d".

Dockerin säveltäjäasetukset näyttävät tältä:

volyymit:- /usr/docker/nginx/conf.d:/etc/nginx/conf.d/:rw

Huomaa, että tämä on vain osa suuresta kirjoitustiedostosta. Täysin toimivan yhdyskäytävän saamiseksi sinun on lisättävä lisäasetuksia, kuten SSL-hakemisto, Docker-pistorasian sijainti jne.

Napsauta tätä saadaksesi Dockerin asiantuntija-apua.

3. Määritä Nginx yhdistämään sivuston pyynnöt sivustosäilön yksityiseen IP-osoitteeseen.

Nyt kun meillä on Nginx-määritystiedostot muokattavassa paikassa, luo jokaiselle sivustolle määritystiedostot proxy_pass-komennolla linkittääksesi sivuston yksityisen IP-osoitteen. Nginxiin.

Esimerkiksi verkkotunnuksen (kuten mydomain.com) määritystiedosto voi näyttää tältä:

sijainti / {proxy_pass http://10.1.2.3:80;proxy_set_header Host $host;}

Tässä vaiheessa Nginx kuuntelee porttia 80 ja välittää kaikki osoitteeseen mydomain.com tulevat pyynnöt sisäiseen IP-osoitteeseen 10.1.2.3.

Docker-palvelimien usean verkkotunnuksen isännöinnin aloittaminen

Tässä mainitsemamme vaiheet ovat vain pääpiirteet, jotka koskevat tämän toimivuuden keskeisiä tekijöitä.

Hienot yksityiskohdat jätetään pois, jotta kohde pysyy tarkennettuna.

Mutta todellisessa tuotantoympäristössä voi olla sata pientä ongelmaa, jotka voivat vaikuttaa isännöinnin laatuun.

Se voi vaihdella resurssirajojen asettamisesta & SSL bugeille, kuten konfigurointivuotoille & protokollien sekoitus.

Jos yrität määrittää tämän alusta alkaen, suosittelemme, että keskustelet Docker-asiantuntijan kanssa, jotta voit määrittää asetukset täsmälleen tarpeitasi vastaavaksi.

Docker-asiantuntijamme ovat verkossa 24/7 ja voivat tulla apuun muutamassa minuutissa. Napsauta tätä avataksesi tukipyynnön.

Johtopäätös

Docker sallii vain 1-1 porttisidoksen, mikä estää useita Docker-säilöjä käyttämästä samaa pääpalvelimen (Docker-isäntä) porttia. Täällä olemme keskustelleet käänteisen välityspalvelimen käyttämisestä pyyntöjen ohjaamiseen useisiin verkkotunnuksiin yhden Docker-isännän HTTP-portin kautta.

ESTÄ PALVELIMISTASI KAATUmasta!

Älä koskaan enää menetä asiakkaita huonon palvelimen nopeuden vuoksi! Anna meidän auttaa sinua.

Palvelinasiantuntijamme valvovat & ylläpitää palvelintasi 24/7, jotta se pysyy salamannopeana ja turvallisena.

KATSO PALVELINJÄRJESTELMÄN SUUNNITELMAT

var google_conversion_label = "owonCMyG5nEQ0aD71QM";


PREV: 14 Virtualisoinnin edut ja haitat – Vittana.org

NEXT: Palvelimen virtualisointi - javatpoint

Popular Articles

Hot Articles

Navigation Lists

Back to Top