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 alapvető parancsai
- Hogyan lehet példányt futtatni egy Docker-fájlból a Dockerben?
- Hogyan lehet példányt futtatni egy Docker-fájlból a Docker Compose alkalmazásban?
- Következtetés
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
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
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-imgA 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.8WORKDIR / 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 psA 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