Hogyan lehet Docker-példányt futtatni egy Docker-fájlból?

Hogyan Lehet Docker Peldanyt Futtatni Egy Docker Fajlbol



A Docker egy népszerű nyílt platform, amelyet univerzálisan használnak alkalmazások konténeres környezetben történő építésére, tesztelésére, telepítésére és szállítására. A Docker az operációs rendszer virtualizációs szintjét használja, és támogatja a különböző összetevőket, például a Docker-tárolókat, a képeket, a hálózatokat és a Docker-kötetet.

A Docker-tárolók a Docker-platform egyik alapvető összetevője, amely a Docker-lemezkép segítségével csomagolja a programot, a konfigurációs beállításokat és a függőségeket. A Docker-kép egy tároló egyszerű sablonja vagy pillanatképe, amely eligazítja a tárolót egy alkalmazás tárolóba helyezéséhez. Ezek a képek többnyire elérhetők a hivatalos Docker hub-nyilvántartásban. A felhasználók a Dockerfile segítségével is megtervezhetik ezeket a képeket a projekt követelményeinek megfelelően.

Ez a blog elmagyarázza:







Mi az a Dockerfile?

A Dockerfile egy normál szöveges fájl, amely parancsokat és utasításokat tartalmaz, amelyek meghatározzák a Docker-tároló alapvető szerkezetét. Ezek az utasítások fájl nélkül is végrehajthatók a terminálban, de az egyes parancsok egymás utáni futtatása hektikus és összetett feladat. A Dockerfile megkönnyíti a fejlesztők számára, hogy az összes követelményt és utasítást egyetlen fájlban rögzítsék. Ezt a fájlt a rendszer ezután a tárolósablon létrehozásához használja, amely egy Docker-képfájl. Ezt követően a Docker-lemezkép végrehajtásra kerül a példány elindításához a Docker-tárolóban.



A Dockerfile alapvető parancsai

A Dockerfile néhány alapvető parancsa, amelyek a tároló alapvető pillanatképének meghatározására szolgálnak, táblázatos formában az alábbiakban találhatók:



Parancsok Leírás
TÓL TŐL A ' TÓL TŐL ” parancsot használják a tárolósablon alapképének meghatározására. Ezek a képek a hivatalos Docker-nyilvántartási Docker Hubból származnak.
KARBANTARTÓ A ' KARBANTARTÓ ” parancs határozza meg a Docker lemezképet létrehozó szerző (név és e-mail) adatait.
WORKDIR Meghatározza egy konténeres alkalmazás munkakönyvtárát.
MÁSOLAT A forrás- és konfigurációs fájlok másolására szolgál a gazdagép rendszerről a Docker-tároló megadott elérési útjára.
HOZZÁAD A ' HOZZÁAD ' parancs hasonló a ' MÁSOLAT ” parancsot, de támogatja a távoli URL-címet is, hogy hozzáadja a fájlt az URL-ből a tárolóútvonalhoz, például a GitHub-tárházból a tároló elérési útjába.
FUSS A ' FUSS ” a tárolóban lévő parancsok futtatására szolgál. A Dockerfile-ban többnyire extra függőségek kezelésére és telepítésére használják a tárolón belül.
CMD ' CMD ” határozza meg a Docker-tárolók alapértelmezett pontjait. Alapvetően ez határozza meg a végrehajtható fájlokat és az alapértelmezett paramétereket BELÉPÉSI PONT ”.
BELÉPÉSI PONT A ' BELÉPÉSI PONT ” parancs a Docker-tároló végrehajtható fájljainak beállítására is szolgál. Alapvetően beállítja az alapértelmezett alkalmazásokat, amelyeket minden alkalommal egy tárolóban használnak. Az ENTRYPOINT parancs is egyszer használatos egy Dockerfile-ban.
FELHASZNÁLÓ Ezzel a paranccsal beállíthatja az UID-t (felhasználónév) a tárolóban lévő parancsok végrehajtásához
HANGERŐ A ' HANGERŐ ” paranccsal a külső kötetet (fájlrendszert) tárolóval kötheti össze vagy csatlakoztathatja.
ENV A ' ENV ” parancs a tároló környezeti változóinak beállítására szolgál.
ARG A ' ARG ” a tárolón belüli argumentumok átadására szolgál.
KIFEJEZNI A ' KIFEJEZNI ” parancs határozza meg azokat a feltáró portokat, amelyeken a tároló végrehajtásra kerül.
ONBUILD Az utasításokat az alapképből olvassa be, de ezeket az utasításokat az alsó képen keresztül indítja el.
CÍMKE A ' CÍMKE ” a tároló pillanatképének metaadatainak megadására szolgál.

Hogyan lehet Docker-példányt futtatni egy Docker-fájlból a Dockerben?

Ha Docker-példányt vagy tárolót szeretne futtatni a Dockerfile használatával, először hozzon létre egy Docker-fájlt. Ezután készítse el a tároló alapvető pillanatképét a Dockerfile segítségével. Ezután futtassa a pillanatképet a Docker-példány elindításához.





Kövesse az alábbi utasításokat illusztrációként.

1. lépés: Hozzon létre egy Docker-fájlt

Először hozzon létre egy Docker-fájlt. Ne feledje, hogy a Dockerfile nem rendelkezik fájlkiterjesztéssel. Ezt követően illessze be a következő parancsokat a fájlba:



A golangból: 1.8

WORKDIR / megy / src / kb

MÁSOLÁS fő.go .

RUN menj építeni -O web szerver .

KIFEJEZNI 8080 : 8080

BELÉPÉSI PONT [ './web szerver' ]

2. lépés: Készítsen programfájlt

Ezután hozzon létre egy új fájlt ' fő.go ”, amely az egyszerű Golang programot tartalmazza. Ebből a célból illessze be a következő programot a fájlba:

csomag fő
import (
'fmt'
'napló'
'net/http'
)

funkciókezelő ( Ban ben http.ResponseWriter, r * http.Kérés ) {
fmt.Fprintf ( Ban ben , 'Helló! Üdvözöljük a LinuxHint oktatóprogramjában' )
}
func main ( ) {
http.HandleFunc ( '/' , kezelő )
log.Végzetes ( http.ListenAndServe ( '0.0.0.0:8080' , nulla ) )
}

3. lépés: Hozzon létre tároló pillanatképet

Most készítse el a Docker pillanatképét a tárolóról a „ docker build -t -f . ”:

dokkoló épít -t go-img -f Dockerfile.

A fenti parancsban a „ -t ' opció beállítja a kép nevét vagy címkéjét, ' -f ” opció megadja a Docker-fájl elérési útját, amelyből a Docker-motornak ki kell olvasnia az összeállítási környezetet:

A kép sikeres létrehozásának ellenőrzéséhez futtassa a ' docker képek 'parancs:

docker images go-img

A kimenet azt mutatja, hogy sikeresen létrehoztuk a tároló pillanatképét a Dockerfile-ból:

4. lépés: Futtassa a Pillanatfelvételt a tároló aktiválásához

Most indítsa el a Docker példányát a Docker-tárolóban a tároló fenti lépésben létrehozott pillanatképének végrehajtásával:

dokkolófuttatás -o 8080 : 8080 --név go-cont -d go-img

A fenti parancsban a „ -o ' opció futtatja a tárolót a ' 8080 'port', ' -név ' beállítja a tároló nevét és a ' -d ” opció leválasztott módban futtatja a tárolót (háttérszolgáltatás):

Annak ellenőrzéséhez, hogy a tároló fut-e vagy sem, sorolja fel a futó tárolókat a „ dokkoló ps 'parancs:

dokkmunkás ps

Most navigáljon a ' http://localhost:8080 ', és ellenőrizze, hogy az alkalmazás fut-e a feltáró porton vagy sem:

A fenti kimenet azt jelzi, hogy hatékonyan elindítottuk a Docker-példányt a Dockerfile használatával.

Hogyan lehet példányt futtatni egy Docker-fájlból a Docker Compose alkalmazásban?

A Docker Compose a Docker platform másik fő beépülő modulja, amely lehetővé teszi számunkra, hogy egyszerre több példányt is futtassunk különböző tárolókban. A felhasználók a Docker-példányt a Dockerfile-ból is futtathatják a Docker összeállítási beépülő moduljával. Illusztrációként kövesse a megadott lépéseket.

1. lépés: Dockerfile létrehozása

Először hozzon létre egy Docker-fájlt. Például ugyanazt a Dockerfile-t és programfájlt használjuk, mint a fenti szakaszban:

A golangból: 1.8

WORKDIR / megy / src / kb

MÁSOLÁS fő.go .

RUN menj építeni -O web szerver .

KIFEJEZNI 8080 : 8080

BELÉPÉSI PONT [ './web szerver' ]

2. lépés: Hozzon létre docker-compose.yml fájlt

Ezután hozzon létre egy „ docker-compose.yml ” fájlt, és másolja be a következő kulcspárokat a fájlba:

változat: '3'

szolgáltatások:

web:
épít: .
portok:
- 8080 : 8080

A fent említett kivágásban:

  • ' szolgáltatások ” segítségével határozza meg a komponálási szolgáltatásokat, amelyek egy külön konténerben kerülnek végrehajtásra. Szemléltetésképpen csak egy szolgáltatást konfiguráltunk ' web ”, hogy a kód tiszta és egyszerű legyen.
  • ' épít ” kulcspárt a Dockerfile-ból való összeállítási környezet kiolvasására használják. Itt a docker elolvassa a Dockerfile utasításait, és ennek megfelelően felépíti a tárolót.
  • ' portok ” kulcs határozza meg azokat a feltáró portokat, amelyeken a konténer végrehajtásra kerül.

3. lépés: Indítsa el a Docker-példányt

Most futtassa a Docker-példányt egy tárolóban a „ dokkoló-komponálni 'parancs:

dokkoló-komponálni -d

Az ellenőrzéshez ellenőrizze a futó levélírási tárolók listáját a ' dokkoló-kompozíció ps 'parancs:

dokkoló-komponálni ps

A kimenet azt mutatja, hogy a „ web ' szolgáltatás sikeresen fut a ' golangapp-web-1 ” konténer:

Keresse meg a kompozíciós szolgáltatás feltáró portját, és ellenőrizze, hogy a program fut-e vagy sem. Az alábbi eredmény azt mutatja, hogy sikeresen elindítottuk a Docker-példányt a Dockerfile-ból a Docker Compose használatával:

Ez egy docker-példány futtatásáról szól egy Dockerfile-ból.

Következtetés

Ha Docker-példányt szeretne végrehajtani egy Docker-fájlból származó tárolóban, először hozzon létre egy Docker-fájlt. Adja hozzá a parancsokat a fájlban a Docker-tároló képének vagy sablonjának létrehozásához. Ezután készítse el a tárolóképet vagy pillanatképet a „ docker build -t -f . ” parancsot. Most futtassa a tárolóképet a Docker-példány elindításához. A felhasználók a Docker-írással is futtathatják a Docker-példányt a Dockerfile-ból. Ez a bejegyzés bemutatja, hogyan lehet Docker-példányt futtatni egy Dockerfile-ból.