Server

Vytváření Dockerfiles, Dockerignore a Docker Compose

Vytváření Dockerfiles, Dockerignore a Docker Compose

Jedním z nejlepších způsobů automatizace Dockeru k automatickému vytváření obrázků je použití souboru Docker. Soubor Dockerfile je jednoduchý textový dokument, který obsahuje všechny příkazy, které může uživatel volat na příkazovém řádku, aby sestavil obrázek.

V tomto kurzu vám ukážeme postupný proces vytváření souboru Dockerfile pro aplikaci nodeJS, vytváření Dockerignore a docker-compose.

Vytvoření Dockerfile, Dockerignore a Docker Compose

1. Dockerfile

Vytvoříme Dockerfile uvnitř zdrojového adresáře.

vim Dockerfile

Nejprve definujte, z jakého obrazu chceme začít stavět. Zde jsem přidal svůj alpský linuxový ukotvitelný obraz, který zahrnuje nodejs10 a NPM. Postupujte podle našeho Docker image a průvodce docker hubem, abyste vytvořili image dockerů a vytáhli je do centra dockerů.

OD Ddarshana / alpinenode10

Příkaz MAINTAINER zobrazuje autora generovaných obrázků.

MAINTAINER darshana (D.Darshana @ fosslinux.com)

Příkaz RUN se používá k provedení všech příkazů. Zde nainstalujeme zvlněný balíček na Alpine Linux.

RUN apk add --update curl && rm -rf / var / cache / apk / *

Vytvořte nový adresář s názvem Aplikace, který bude držet kód aplikace uvnitř obrázku.

RUN mkdir / aplikace

Direktiva WORKDIR se používá k nastavení místa, kde má být proveden příkaz definovaný pomocí CMD.

WORKDIR / aplikace

Zkopírujte balíček.soubor JSON.

KOPÍROVAT balíček.JSON .

Nainstalujte aplikaci nodeJS a závislosti.

SPUŠTĚNÍ instalace za minutu

Zdroj balíčku aplikace.

KOPÍROVAT… 

Stáhněte si soubor proměnné prostředí. V našem případě máme samostatné umístění pro ukládání globálních konfigurací.

RUN curl -O https: // demofiles.fosslinux / nodejs /.env

Spusťte aplikaci a spustí se na výchozím portu 3000.

CMD ["npm", "start"]

Tady je náš úplný Dockerfile.

OD Ddarshana / alpinenode10 MAINTAINER darshana (D.Darshana @ fosslinux.com) # Nainstalujte balíček „curl“ RUN apk add --update curl && rm -rf / var / cache / apk / * # Vytvořit adresář aplikace RUN mkdir / app WORKDIR / app # copy balíček.balíček JSON COPY.JSON . # Nainstalovat závislosti aplikací RUN npm install # Bundle zdroj aplikace KOPIE… # Stáhnout soubor proměnné prostředí z našeho umístění v síti RUN curl -O https: // demofiles.fosslinux / nodejs /.env # Spustit APP CMD ["npm", "start"]

Uložte a ukončete soubor. Tady je můj adresář NodeJs App Code.

Kód aplikace Nodejs

2. Vytváření souboru Dockerignore

Použití souboru „dockerignore“ zabrání kopírování našich místních modulů a dalších nežádoucích souborů do obrazu Dockeru a možnosti přepsání modulů nainstalovaných ve vašem obrazu. Důrazně doporučujeme, abyste jej používali společně s Dockerfiles.

Soubor Dockerignore by měl být ve stejném adresáři jako Dockerfile.

vim .dockerignore

Zde jsme přidali následující obsah:

.env test Dockerfile node_modules .vscode .eslintrc.js

Uložte a ukončete soubor.

Vytvořte image Dockeru

docker build . -t fosslinuxdemo / nodejsapp

Vytvořit obrázek

Dokončení procesu by mělo nějakou dobu trvat. Prosím, buďte trpěliví.

Obrázek vytvořen

Seznam obrázků Dockeru

Spuštěním následujícího příkazu zobrazte seznam obrázků:

docker obrázky

Seznam obrázků

Spustit obrázek Dockeru

docker run -itd -p 3000: 3000 fosslinuxdemo / nodejsapp

-itd: - provede kontejner na pozadí

-p: - příznak přesměruje veřejný port na soukromý port uvnitř kontejneru

4. Docker Compose

Compose je nástroj pro definování a spouštění aplikací Docker s více kontejnery. S Compose použijeme soubor YAML ke konfiguraci aplikačních služeb. Poté jediným příkazem vytvoříme a spustíme všechny služby z naší konfigurace.

Nainstalujte Compose

Před instalací skladače musíte nejprve nainstalovat Docker.

Spuštěním tohoto příkazu stáhněte aktuální stabilní verzi Docker Compose:

curl -L "https: // github.com / docker / compose / releases / download / 1.25.0 / docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose

Použít spustitelná oprávnění na binární soubor:

chmod + x / usr / local / bin / docker-compose

Vyzkoušejte instalaci:

docker-compose --version

Instalace Docker Composer

5. Instalace WordPress a MySQL pomocí Docker Compose

Vytvořte složku pro svůj projekt:

mkdir / opt / fosslinuxdemo

Přejděte do vytvořeného adresáře:

cd / opt / fosslinuxdemo

Zde vytvoříme datové adresáře pro náš kontejner MySQL a kontejner WordPress.

mkdir data mkdir html

Připojíme výše uvedené adresáře k našim kontejnerům.

Vytvořte soubor skladatele:

vim docker-compose.yml

Tady je náš docker-compose soubor. Zkopírujte následující obsah do souboru.

verze: „3.7 'služby: db: container_name: fosslinux-mysql restart: always image: mysql: 5.7 svazků: ​​- / opt / fosslinuxdemo / data: / var / lib / mysql příkaz: --default-authentication-plugin = mysql_native_password prostředí: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress porty: - "3306: sítě: - fosslinux_net wp: container_name: fosslinux-wp restart: vždy svazky: - "/ opt / fosslinuxdemo / html: / var / www / html" záleží_on: - db obrázek: porty wordpress: - "80:80" prostředí: WORDPRESS_DB_HOST : db: 3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: sítě wordpress: - fosslinux_net sítě: fosslinux_net: 

Vytvořte soubor a adresáře

Poznamenejte si číslo verze. Další podrobnosti o verzi souboru versioning @ composer.

verze: „3.7 '
služby: db:

Služba v Compose je spuštěný kontejner a definice služby specifikují informace o tom, jak bude každý kontejner spuštěn. Naše definice služby „db“ má různé možnosti.

container_name: fosslinux-mysql
restart: vždy
obrázek: mysql: 5.7
svazky: https: // hub.přístavní dělník.com / _ / mysql - / opt / fosslinuxdemo / data: / var / lib / mysql

Zde připojíme svazek „/ opt / fosslinuxdemo / data“ do adresáře „/ var / lib / mysql“ v kontejneru. Obecně se jedná o standardní datový adresář pro MySQL na většině distribucí.

příkaz: --default-authentication-plugin = mysql_native_password

Tato možnost určuje příkaz k přepsání výchozí instrukce CMD pro obrázek.

životní prostředí:

Definujte proměnné prostředí. Zde nastavujeme proměnné MySQL.

 porty: - "3306: 3306"
sítě: - fosslinux_net
záleží_na: - db

To představuje, že naše kontejnery budou spuštěny v pořadí podle závislosti, přičemž kontejner „wp“ začíná po kontejneru „db“.

Nyní můžeme vytvořit naše prostředí.

 docker-compose up -d

-d, který bude spouštět kontejnery na pozadí.

Vytváření prostředí

Seznam ukotvitelných kontejnerů:

docker ps -a

Vytvořené kontejnery

Zkontrolujte protokoly kontejneru WordPress:

docker logs -f fosslinux-wp

Nyní přejděte do webového prohlížeče a zadejte svou IP adresu, abyste získali instalační okno WordPress.

Instalace WordPress

Pokračujte kliknutím, pokračujte a dokončete proces instalace WordPress.

To je vše o práci s Dockerfiles a Docker Compose. Doufám, že se vám článek líbil.

Hry Výukový program OpenTTD
Výukový program OpenTTD
OpenTTD je jednou z nejpopulárnějších her pro obchodní simulaci. V této hře musíte vytvořit skvělé dopravní podnikání. Začnete však na začátku kolem r...
Hry SuperTuxKart pro Linux
SuperTuxKart pro Linux
SuperTuxKart je skvělý titul navržený tak, aby vám ve vašem systému Linux přinesl zážitek Mario Kart zdarma. Je to docela náročné a zábavné hrát, je n...
Hry Výukový program Battle for Wesnoth
Výukový program Battle for Wesnoth
The Battle for Wesnoth je jednou z nejpopulárnějších strategických her s otevřeným zdrojovým kódem, které si v tuto chvíli můžete zahrát. Tato hra se ...