Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 9930|Válasz: 2

Különbség a dockerfile és a docker-compose között

[Linket másol]
Közzétéve 2019. 11. 15. 9:33:13 | | |
Különbség a dockerfile és a docker-compose között
Röviden értsük meg a docker használati folyamatát, amely képépítésre és konténer indításra oszlik.

Kép építése: azaz olyan képet hozunk létre, amely tartalmazza a telepítéshez és működtetéshez szükséges környezetet, programkódot stb. Ez a létrehozási folyamat egy dockerfile segítségével történik.

Konténer indítás: A konténert végül úgy futtatják, hogy lehúzzuk a beépített képet, és a szolgáltatást indítják egy sor futó utasításon keresztül (például porttérképezés, külső adatrögzítés, környezeti változók stb.). Egyetlen konténernél ez docker futtatáson keresztül futtatható.

Ha több konténer futtatását (például szolgáltatási orkrántálást) is magában foglalja, akkor docker-compose-on keresztül is megvalósítható, amely könnyedén futtathat több konténert szolgáltatásként (természetesen csak egyet), és biztosítja a skálázás (szolgáltatás skálázás) funkcióját.

Rövid összefoglaló:

1.dockerfile: építse meg a képet;

2. Docker futás: indítsa el a konténert;

3. docker-compose: Indítsa el a szolgáltatást;

Kezdjük az elején.
Ha nem használod a dockert, hogyan építhetsz WordPresst? Először keress egy szervert, feltételezd az operációs rendszere Ubuntu, majd lépésről lépésre kövesd a dokumentációt, hogy beírd a parancsot és írd meg a konfigurációt, igaz?
Mi a helyzet a docker használatával? Csak keress egy szervert, bármilyen operációs rendszert is használd, amíg támogatja a dockert, a docker futtatja az Ubuntu-t, docker lehúzza a legfrissebb Ubuntu képet a hivatalos forrásból, gondolhatsz rá, mintha megnyitottad az Ubuntu virtuális gépet, majd lépésről lépésre telepíted, pont ahogy fentebb van.

Ennek azonban van egy jelentős hátránya: ha a tartályt eltávolítják, nincs munka elvégezve. Természetesen a docker commit-et is használhatod a képként való mentésre, hogy újra felhasználhassák.

De a kép általában nagy, és ha csak megosztod a képet, mások nem fogják tudni, mit tartalmaz a képed, ami nem kedvező a megosztásra és újrahasználatra.
Egy intuitív megoldás, ha írsz egy szkriptet, amely rögzíti az egész telepítési folyamatot, így amikor újra telepíted, végrehajthatod a szkriptet. A Dockerfile egy ilyen szkript, amely dokumentálja a képkészítés folyamatát.
Dockerfile-nél csak futtasd a docker build rendszert. Létrehozhatsz egy képet, és a Dockerfile egy szövegfájl, amit nagyon könnyen módosíthatsz.

Most, hogy van WordPress képed, csak docker futtatást kell végezned, hogy a WordPress működjön.

Ha csak a WordPressről van szó, az elég. De sokszor több képre van szükség egy szolgáltatás elindításához, például nginx, mysql, mail service stb.
Gyakrabban az nginx, mysql és smtp mind képek, és ezek a képek együtt dolgoznak egy projekt szolgálatában.
Docker-Compose a megoldás erre a problémára. Információ arról, hogy milyen képekre van szüksége a projektnek, hogyan konfigurálja az egyes képeket, mely köteteket kell felszerelni, és így tovább docker-compose.yml.
A szolgáltatás indításához csak docker-comppose up kell lenned, és csak docker-compse stop/down kell megállítani

Röviden: egy Dockerfile rögzíti egyetlen kép építési folyamatát, docker-compse.yml egy projekt (általában több kép) építési folyamatát rögzíti.

Azt mondtad, hogy néhány oktatóanyag dockerfile+docker-compose funkciót használ, mert docker-compose.yml maga nincs információ az image buildről, és ha a képet a docker regiszterből húzzák ki, akkor a dockerfile nincs szükséges; Ha a képet kell létrehozni, akkor Dockerfile is biztosítani kell.

docker-compposeEz egy orkestrációs konténer. Például van egy php kép, egy mysql és egy nginx kép. Ha nincs docker-compose, akkor minden indításkor be kell írnod az egyes konténerek indítási paramétereit, környezeti változókat, konténernevet, meg kell határoznod a különböző konténerek link paramétereit, és egy sor műveletet, ami elég bonyoló. A docker-composer használata után egyszerre írhatod ezeket a parancsokat docker-composer.yml fájlba, és minden alkalommal, amikor elindítod az egész környezetet (beleértve 3 konténert is), csak egy docker-composer up parancsot kell beírnod.

dockerfileA feladat az, hogy a tükörképet a nulláról építsd fel. Tartalmazza a telepítéshez és üzemeltetéshez szükséges környezetet, programkódot stb. Ez a létrehozási folyamat egy dockerfile segítségével történik. Dockerfile – Előkészítve a docker build parancsra, hogy önálló képet hozzon létre, amelyet élő build esetén is használhat docker-compose
docker-compose.yml – Egy docker-compose szkript, amely egyszerre több konténert is képes kezelni, beleértve a köztük lévő kapcsolatokat, akár hivatalos képet vagy magad, különböző hálózati portdefiníciókat, tárolótér definíciókat stb




Előző:Nem sikerült regisztrálni az "http://xx/" URL-t a "SITE NAME" oldalhoz...
Következő:A Docker a kép helyét a Windows rendszer alatt tárolja
 Háziúr| Közzétéve 2022. 12. 18. 14:56:50 |
centos installation Docker Compose tutorial
https://www.itsvse.com/thread-5164-1-1.html
 Háziúr| Közzétéve 2025. 03. 05. 10:37:33 |
A BuildKit egy továbbfejlesztett backend, amely felváltja a régi építőt. A 23.0-as verziótól kezdve a BuildKit az alapértelmezett fejlesztő a Docker Desktop és Docker Engine felhasználók számára.

A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható.

Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com