GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak spustit Nginx v kontejneru Docker:Průvodce krok za krokem

V tomto tutoriálu se dozvíte, jak spustit Nginx jako kontejner Docker a vystavit jej místní síti.

Kromě toho se naučíte, jak vytvořit datový svazek Docker pro sdílení informací mezi kontejnerem a hostitelským souborovým systémem.

Nginx je populární software s otevřeným zdrojovým kódem používaný pro webové servery, reverzní proxy, ukládání do mezipaměti, vyrovnávání zátěže atd. Je poměrně populární a dnes se používá na mnoha webech s vysokou návštěvností. Jednou z nejběžnějších úloh Dockeru je použití ke kontejnerizaci webových serverů. Ukážeme vám, jak to nastavit pomocí Nginx. Dovolte nám, abychom vás provedli tímto procesem.

Docker je kontejnerizační platforma, která zabalí vaši aplikaci do jednoho snadno spravovatelného obrázku kontejneru.

Předpoklady

K dokončení tohoto kurzu musíte splnit následující požadavky:

  1. Docker by měl být nainstalován a místně spuštěn ve vašem systému.
  2. Potřebujete účet root nebo uživatel může spouštět příkazy sudo.

Nastavení Nginx Inside Docker

Vytažení obrázku

Nejprve vytáhneme oficiální obrázek Nginx. Spusťte následující příkaz Docker pull na terminálu a stáhněte si nejnovější obrázek Nginx z centra Docker na vašem hostiteli Docker.

sudo docker pull nginx

Spusťte kontejner Nginx Docker

Jsme připraveni spustit kontejner Nginx Docker a vystavit jeho port vaší místní síti. K tomu spustíme obrázek příkazem:

sudo docker run -d -p 80:80 --name my-nginx-server nginx
  • -d – Spusťte kontejner v odpojeném režimu (kontejner běží na pozadí).
  • -p – Svázat port z kontejneru na hostitele (směruje port provozu hostitele 80 na port kontejneru 80).
  • -name – Název našeho kontejneru Docker.

Poslední argument, nginx , řekne Dockeru, který obrázek má pro kontejner použít.

Nyní otevřete prohlížeč a nasměrujte jej na adresu hostitele, na kterém jste spustili svůj kontejner Nginx. V mém případě je to http://192.168.122.101 . Výchozí stránka webového serveru Nginx by vás měla pozdravit.

Je to tady. Máte funkční instanci kontejneru Nginx Docker.

Vypsat kontejnery dockeru

Chcete-li zobrazit seznam všech spuštěných kontejnerů Docker, spusťte následující příkaz:

sudo docker container ls

Na základě výše uvedeného výstupu můžeme zastavit náš kontejner Nginx Docker jedním z následujících dvou:

sudo docker stop 19411f8b3f35
sudo docker stop my-nginx-server

Chcete-li zobrazit všechny kontejnery, včetně těch, které nejsou spuštěny, musíte přidat -a vlajka.

sudo docker container ls -a

Sdílení dat mezi kontejnerem Nginx Docker Container a hostitelem

Docker kontejnery jsou pomíjivé. Ve výchozím nastavení jsou veškerá data vytvořená uvnitř kontejneru dostupná pouze z kontejneru a pouze tehdy, když je kontejner spuštěn.

Pojďme si tedy ukázat, jak zpřístupnit data z kontejneru na hostitelském počítači. Naším cílem je vytvořit jednoduchý soubor HTML, hostit jej v kontejneru a podávat jej venku pomocí kontejneru Nginx Docker.

Toto nastavení nám umožňuje mít trvalý obsah webových stránek hostovaný mimo kontejner.

K dosažení této funkce použijeme funkci připojení připojení v Dockeru. Když použijete připojení vazby, soubor nebo adresář na hostitelském počítači se připojí do kontejneru.

Nejprve tedy vytvořte nový adresář pro obsah vašeho webu v domovském adresáři.

mkdir ~/www

Nyní vytvoříme jednoduchý soubor HTML a vložíme nějaký text na vaši stránku indexu.

vim ~/www/index.html
<html>
<head>
<title>Nginx Docker</title>
</head>
<body>
<h1>My static page.</h1>
</body>
</html>

Zkopírujte prosím výše uvedený úryvek a vložte jej dovnitř. Poté soubor uložte a ukončete Vim.

Dále spustíme kontejner Nginx Docker s připojeným svazkem na kontejneru /usr/share/nginx/html do současnosti na hostiteli www adresář, kde je index.html soubor je uložen.

docker run -d -p 80:80 -v ~/www:/usr/share/nginx/html/ --name my-nginx-server nginx

Kontejner Nginx je ve výchozím nastavení nastaven tak, aby hledal indexovou stránku na adrese /usr/share/nginx/html/ . Ve výše uvedeném příkazu -v možnost nastaví svazek připojení, který propojí /usr/share/nginx/html/ adresář z kontejneru Nginx Docker do ~/www adresář na hostitelském počítači.

Docker používá symbol dvojtečky (: ) k oddělení cesty hostitele od cesty kontejneru. Pamatujte, že cesta hostitele je vždy na prvním místě.

Znovu, pokud projdete http://192.168.122.101 , získáte níže uvedený výstup v okně prohlížeče.

To je vše. Nyní máte spuštěný kontejner Nginx Docker obsluhující vlastní webovou stránku.

Závěr

Nginx a Docker spolupracují velmi dobře. Tento tutoriál ukázal, jak nastavit a používat kontejner Nginx Docker. Také víte, jak sdílet informace mezi kontejnerem a hostitelským souborovým systémem.

V případě dotazů zanechte své komentáře.


Docker
  1. Nainstalovat NGINX na openSUSE – Průvodce krok za krokem?

  2. Jak spustit program uvnitř kontejneru Docker?

  3. Jak nasadit kontejner nginx s Dockerem na Linode

  1. Jak spustit MySQL v Docker Container:Jednoduchý a snadno sledovatelný průvodce

  2. Úvod do Dockeru

  3. Jak spustit příkaz na spuštěném kontejneru Docker

  1. Jak spustit MySQL v kontejneru Docker

  2. Docker Run vs Start vs Create:Rozdíl je vysvětlen

  3. Nelze spustit NGINX Docker kvůli „13:Permission denied“