Įvadas
„Docker Compose“. leidžia vartotojams paleisti ir apibrėžti kelių konteinerių programas naudojant vieną konfigūracijos failą. Tai supaprastina kelių konteinerių nustatymo ir valdymo procesą, todėl lengviau kurti, išbandyti ir diegti programas.
Šiame straipsnyje jūs turite sukurti programą „Flask“ su dviem konteineriais, naudoti „Vultr Container Registry“ (VCR) programų „Docker“ atvaizdui tvarkyti ir naudoti „Docker Compose“ kelių talpyklų funkciją keliems konteineriams valdyti.
Pavyzdinės programos kūrimas
Norėdami pradėti kurti pavyzdinę programą, atlikite šiuos veiksmus:
- Įdiekite „Vultr Compute“ egzempliorių naudodami Vultr klientų portalas su Dokeris prekyvietės programa.
- Saugiai pasiekti serverį naudojant SSH kaip ne root sudo vartotojas.
- Atnaujinkite serverį.
- Sukurkite naują projekto katalogą ir eikite į jį.
- Sukurkite naują failą pavadinimu
app.py
. - Pridėkite šį kodą.
Išsaugokite ir išeikite iš failo.
Aukščiau pateiktas Kolbos kodas jungiasi prie a Redis Duomenų bazė ir padidina skaitiklį kiekvieną kartą, kai aplankomas šakninis URL.
- Leisti įeinančius ryšius prie prievado
5000
ir iš naujo įkelkite ugniasienę. - Sukurkite naują failą pavadinimu
requirements.txt
. - Pridėkite šiuos paketus.
Išsaugokite ir uždarykite failą.
- Sukurkite kitą katalogą viduje
flask-redis-example
katalogą ir eikite į jį. - Sukurkite naują failą pavadinimu
styles.css
. - Pridėkite šį kodą.
Išsaugokite ir išeikite iš failo.
- Sukurkite kitą katalogą viduje
flask-redis-example
katalogą ir eikite į jį. - Sukurkite naują failą pavadinimu
index.html
. - Pridėkite šį kodą.
Išsaugokite ir išeikite iš failo.
Naudojant Vultr konteinerio registrą
Šiame skyriuje turite sukurti „Vultr Container Registry“, įkelti „Docker“ vaizdą į registrą ir nustatyti „Docker Compose“ failo nustatymo paslaugas, skirtas „Flask“ ir „Redis“ duomenų bazei.
- Įdiegti a „Vultr“ konteinerių registras
- Sukurkite „Docker“ manifestą
flask-redis-example
katalogas. - Pridėkite šią konfigūraciją.
Išsaugokite ir išeikite iš failo.
- Sukurkite „Docker“ vaizdą.
- Prisijunkite prie „Vultr Container“ registro.
Būtinai pakeiskite
<url>
,<user>
ir<password>
ši informacija pateikta „Vultr Container Registry“ apžvalgos skiltyje. - Pažymėkite Docker vaizdą.
- Perkelkite vaizdą į Vultr konteinerio registrą.
Kai „Docker“ vaizdas bus nustumtas, patikrinkite, ar vaizdas yra Saugyklos skyrių „Vultr Container Registry“, esančiame „Vultr“ prietaisų skydelyje.
- Sukurkite naują failą pavadinimu
docker-compose.yaml
.Išsaugokite ir išeikite iš failo.
Aukščiau pateikta YAML konfigūracija apibrėžia dvi paslaugas
web
irredis
. Theweb
paslauga sukuria programą „Flask“ iš dabartinio katalogo (.
) ir žemėlapių prievadą5000
konteinerio iki uosto5000
šeimininko. Taip pat nurodoma, kad žiniatinklio paslauga priklauso nuo „Redis“ paslaugos. „Redis“ paslauga naudoja oficialų „Redis Docker“ vaizdą iš „Docker Hub“. - Sukurkite „Docker“ kūrimo failą.
Baigę kūrimo procesą, eikite į „Flask“ programą
http://<server-ip>:5000
. Pabandykite atnaujinti svetainę kelis kartus ir pastebėkite, kad apsilankymų puslapyje skaičius didėja.
Atlikite daugiau naudodami „Vultr Container Registry“.
Geriausia praktika
- Laikydami
docker-compose.yaml
byla sutvarkyta ir gerai dokumentuota. - Vardinių tomų naudojimas išliekamiems duomenims, o ne prieglobos katalogų įrišimui.
- Aplinkos kintamųjų naudojimas jautriems duomenims, pvz., slaptažodžiams ir API raktams.
- Naudojant „Docker Compose“ integruotas komandas, pvz
docker-compose up
,docker-compose down
irdocker-compose
ps konteineriams tvarkyti.
Išvada
Šiame straipsnyje sukūrėte programą „Flask“ su dviem konteineriais, naudojote „Vultr Container Registry“ programų „Docker“ atvaizdui tvarkyti ir „Docker Compose“ kelių sudėtinių rodinių funkciją keliems konteineriams valdyti.
Tai yra Vultr remiamas straipsnis. Vultr yra didžiausia pasaulyje privati debesų kompiuterijos platforma. Kūrėjų pamėgta „Vultr“ aptarnavo daugiau nei 1,5 mln. klientų 185 šalyse, naudodama lanksčius, keičiamo dydžio, pasaulinius „Cloud Compute“, „Cloud GPU“, „Bare Metal“ ir „Cloud Storage“ sprendimus. Išmokti daugiau apie Vultr