Serveris

„Dockerfiles“, „Dockerignore“ ir „Docker Compose“ kūrimas

„Dockerfiles“, „Dockerignore“ ir „Docker Compose“ kūrimas

Vienas iš geriausių būdų automatizuoti „Docker“ kurti vaizdus automatiškai yra „Dockerfile“ naudojimas. „Dockerfile“ yra paprastas tekstinis dokumentas, kuriame yra visos komandos, kurias vartotojas galėjo iškviesti komandinėje eilutėje norėdamas surinkti vaizdą.

Šioje pamokoje mes jums parodysime nuoseklų „Dockerfile for nodeJS“ kūrimo, „Dockerignore“ kūrimo ir „Docker-compose“ kūrimo procesą.

„Dockerfile“, „Dockerignore“ ir „Docker Compose“ kūrimas

1. Dockerfile

Šaltinio kataloge sukursime „Dockerfile“.

vim Dockerfile

Pirmiausia apibrėžkite, nuo kokio vaizdo mes norime pradėti kurti. Čia aš pridėjau savo „Alpine Linux“ doko vaizdą, kuriame yra „nodejs10“ ir „NPM“. Vadovaukitės mūsų „Docker“ atvaizdų ir „Docker hub“ vadovu, kad sukurtumėte „Docker“ vaizdus ir patraukite juos prie „Docker Hub“.

NUO ddarshana / alpinenodo10

MAINTAINER komanda rodo sugeneruotų vaizdų autorių.

PRIEŽIŪROS darshana (D.Darshana @ fosslinux.com)

RUN komanda naudojama bet kokioms komandoms vykdyti. Čia mes įdiegiame garbanos paketą „Alpine Linux“.

Paleisti APK papildymą - atnaujinti garbanos && rm -rf / var / cache / apk / *

Sukurkite naują katalogą, pavadintą Program, kuris ketina laikyti programos kodą atvaizdo viduje.

Paleisti „mkdir“ / programą

WORKDIR direktyva naudojama nustatyti, kur turi būti vykdoma komanda, apibrėžta CMD.

WORKDIR / programa

Kopijuoti paketą.JSON failas.

KOPIJOS paketas.Json .

Įdiekite „nodeJS“ programą ir priklausomybes.

RUN npm įdiegti

Grupuoti programos šaltinį.

KOPIJA .. 

Atsisiųskite aplinkos kintamojo failą. Mūsų atveju turime atskirą vietą, kur saugoti pasaulines konfigūracijas.

Paleisti garbaną -O https: // demofilai.„fosslinux“ / „nodejs“ /.env

Paleiskite programą ir ji bus paleista numatytame 3000 prievade.

CMD ["npm", "pradžia"]

Čia yra visa mūsų „Dockerfile“.

NUO ddarshana / alpinenode10 PRIEŽIŪROS darshana (D.Darshana @ fosslinux.com) # Įdiekite „curl“ paketą RUN apk add - atnaujinkite curl && rm -rf / var / cache / apk / * # # Sukurkite programų katalogą RUN mkdir / app WORKDIR / app # copy package.„json COPY“ paketas.Json . # Įdiekite programų priklausomybes RUN npm install # Bundle app source COPY… # Atsisiųskite aplinkos kintamojo failą iš mūsų tinklo vietos RUN curl -O https: // demofiles.„fosslinux“ / „nodejs“ /.env # Paleisti APP CMD ["npm", "start"]

Išsaugokite ir išeikite iš failo. Čia yra mano „NodeJs“ programų kodų katalogas.

„Nodejs“ APP kodas

2. Dockerignore failo kūrimas

Naudojant „dockerignore“ failą, mūsų vietiniai moduliai ir kiti nepageidaujami failai negali būti nukopijuoti į „Docker“ vaizdą ir galimybė perrašyti vaizde įdiegtus modulius. Mes labai rekomenduojame jį naudoti kartu su „Dockerfiles“.

„Dockerignore“ failas turėtų būti tame pačiame kataloge kaip ir „Dockerfile“.

vim .dokeris

Čia mes pridėjome šį turinį:

.env „Dockerfile“ mazgo_modulių testas .vscode .eslintrc.js

Išsaugokite ir išeikite iš failo.

Sukurkite „Docker“ vaizdą

dokininko statinys . -t fosslinuxdemo / nodejsapp

Kurti vaizdą

Procesas turėtų užtrukti šiek tiek laiko. Būkite kantrūs.

Vaizdas sukurtas

Išvardinkite „Docker“ vaizdus

Paleiskite šią komandą, kad išvardytumėte vaizdus:

dokininkų vaizdai

Išvardykite vaizdus

Paleiskite „Docker“ vaizdą

„docker run“ -tit -p 3000: 3000 „fosslinuxdemo“ / „nodejsapp“

-itd: - vykdo talpyklą fone

-p: - vėliava nukreipia viešąjį uostą į privatų uostą konteinerio viduje

4. „Docker Compos“

„Compose“ yra įrankis, skirtas apibrėžti ir paleisti kelių konteinerių „Docker“ programas. Naudodami „Compose“, naudosime YAML failą, kad sukonfigūruotume programų paslaugas. Po to, naudodami vieną komandą, sukursime ir paleisime visas paslaugas iš savo konfigūracijos.

Įdiekite „Compose“

Prieš diegdami kompozitorių, pirmiausia turite įdiegti „Docker“.

Vykdydami šią komandą atsisiųskite dabartinį stabilų „Docker Compose“ leidimą:

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

Taikykite vykdomąjį leidimą dvejetainiui:

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

Išbandykite diegimą:

docker-compose - versija

„Docker Composer Install“

5. „WordPress“ ir „MySQL“ diegimas naudojant „Docker Compose“

Sukurkite aplanką savo projektui:

mkdir / opt / fosslinuxdemo

Eikite į sukurtą katalogą:

cd / opt / fosslinuxdemo

Čia sukursime duomenų katalogus savo „MySQL“ ir „WordPress“ talpykloms.

mkdir duomenys mkdir html

Pirmiau išvardytus katalogus pritvirtinsime prie savo konteinerių.

Sukurkite kompozitoriaus failą:

vim docker-kurti.yml

Čia yra mūsų dokininko kūrimo failas. Nukopijuokite šį turinį į savo failą.

versija: „3.7 'paslaugos: db: container_name: fosslinux-mysql restart: always image: mysql: 5.7 tomai: - / opt / fosslinuxdemo / data: / var / lib / mysql komanda: --default-authentication-plugin = mysql_native_password aplinka: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASS6ORD: "WordPress": tinklai: - „fosslinux_net wp“: „container_name“: „fosslinux-wp“ paleidimas iš naujo: visada tūriai: - "/ opt / fosslinuxdemo / html: / var / www / html" priklauso_on: - db image: wordpress ports: - "80:80" aplinka: WORDPRESS_DB_HOST : db: 3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress tinklai: - fosslinux_net tinklai: fosslinux_net: 

Sukurti failą ir katalogus

Atkreipkite dėmesį į versijos numerį. Daugiau informacijos apie @ kompozitoriaus failo versiją.

versija: „3.7 '
paslaugos: db:

„Compose“ paslauga yra veikiantis sudėtinis rodinys, o paslaugų apibrėžimuose nurodoma informacija, kaip veiks kiekvienas sudėtinis rodinys. Mūsų „db“ paslaugos apibrėžimas turi įvairias galimybes.

konteinerio_vardas: fosslinux-mysql
paleisti iš naujo: visada
vaizdas: mysql: 5.7
tomai: https: // stebulė.dokininkas.com / _ / mysql - / opt / fosslinuxdemo / data: / var / lib / mysql

Čia talpyklą „/ opt / fosslinuxdemo / data“ prijungiame prie konteinerio katalogo „/ var / lib / mysql“. Paprastai tai yra standartinis „MySQL“ duomenų katalogas daugumoje paskirstymų.

komanda: --default-authentication-plugin = mysql_native_password

Ši parinktis nurodo komandą, kad būtų pakeista numatytoji paveikslėlio CMD instrukcija.

aplinka:

Apibrėžkite aplinkos kintamuosius. Čia mes nustatome „MySQL“ kintamuosius.

 prievadai: - "3306: 3306"
tinklai: - fosslinux_net
priklauso_on: - db

Tai reiškia, kad mūsų konteineriai prasidės priklausomybės tvarka, o „wp“ konteineris prasidės po „db“ konteinerio.

Dabar galime susikurti savo aplinką.

 dokininkas-komponuok -d

-d vėliava, kuri veiks konteinerius fone.

Aplinkos kūrimas

Pateikite dokavimo konteinerių sąrašą:

dokininkas ps -a

Sukūrė konteinerius

Patikrinkite „WordPress Container“ žurnalus:

dokų žurnalai -f fosslinux-wp

Dabar eikite į žiniatinklio naršyklę ir įveskite savo IP, kad gautumėte „WordPress“ diegimo langą.

„WordPress“ diegimas

Spustelėkite, tęskite ir užbaikite „WordPress“ diegimo procesą.

Viskas apie darbą su „Dockerfiles“ ir „Docker Compose“. Tikiuosi, kad jums patiko straipsnis.

„SuperTuxKart“, skirta „Linux“
„SuperTuxKart“ yra puikus pavadinimas, sukurtas nemokamai suteikti „Mario Kart“ patirtį jūsų „Linux“ sistemoje. Tai gana sudėtinga ir smagu žaisti, yr...
„Battle for Wesnoth“ pamoka
„Battle for Wesnoth“ yra vienas populiariausių atvirojo kodo strateginių žaidimų, kurį šiuo metu galite žaisti. Šis žaidimas ne tik buvo kuriamas laba...
0 A.D. Pamoka
Iš daugybės strateginių žaidimų 0 A.D. sugeba išsiskirti kaip išsamus pavadinimas ir labai gilus, taktinis žaidimas, nepaisant to, kad yra atviro kodo...