Venda – do’konlar hisobini yurituvchi dastur va Docker haqida

Veb studiya davrida aptekalar hisobini yuritish uchun Appteca loyihasini ishlab chiqqan edik. Keyinroq undan Venda – do’konlar (va aptekalar) uchun universal dastur sifatida ishni davom ettirdik. 1 yilgacha qo’llab-quvvatlash jarayonida ma’lum bo’ldiki, dastur qo’shimcha daromad manbai emas, qo’shimcha beminnat xizmatga aylanib qoldi. 🙂

Firma yopilgach, dasturni Github’ga chiqarib yubordim: https://github.com/Webmaxor/venda-project
Tushunadigan dasturchilar bo’lsa, olib ishlatishadi.

Dastur strukturasi
Dastur strukturasi

Dastur veb-interfeysda ishlaydi. Platforma uchun Drupal tanlangan, ro’yhatli va jadvalli sahifalar Views‘da yasaladi. Views ishlatilgani uchun dastur desktop-analoglariga nisbatan biroz sekinroq «harakat qiladi». Veb-server sifatida Openserverdan foydalanilgan.

Sotuvlar bo'yicha hisobot
Sotuvlar bo’yicha hisobot

Sekinligini yo’qotish uchun Memcache qo’yib ko’rdim – foyda berdi ammo yetarli darajada emas. MacOSga o’tgach esa Openserverni ishlatish imkonsiz bo’lib qoldi. Endi barcha operatsion tizimlarda ishlaydigan veb-server kerak bo’lardi.

Docker

Docker – dasturlarni boshqarish uchun operatsion tizim darajasida virtualizatsiya qiluvchi dasturiy ta’minot. U dasturlarni o’z muhiti bilan birgalikda konteynerda saqlaydi va istalgan Linuks tizimlariga ko’chirib o’tkazish imkoniyatini beradi.

Oddiyroq qilib, veb-asosda tushuntirganda, apache, php, mysql, alohida konteynerlarda saqlanadi, ularning versiyalarini konteynerning o’zida o’zgartirish mumkin. Har bir konteyner operatsion tizimning bazaviy obrazini ishlatadi.

Docker tarkibidagi demon konteynerlarni buyruqlar satri interfeysidan boshqarish imkonini beradi (docker -d buyrug’i bilan ishga tushiriladi). Demon konteynerlar izolyatsiyasini fayl tizimi doirasida to’la ta’minlaydi, har bir konteynerning o’zini fayl tizimi bo’ladi.

Dockerning foydalanuvchi uchun oddiy buyruqlar ro’yhati:

docker run – yangi konteynerda protsesslarni ishga tushirish.

docker stop va docker start – dockerni to’xtatadi va ishga tushiradi.

docker pause va docker unpause – dockerni vaqtincha to’xtatib turadi va qayta ishini davom ettiradi.

docker ps – ishlayotgan konteynerlar ro’yhatini chiqaradi.

Dockerning paket menedjeri Docker Compose ko’pkonteynerli dasturlarni ishga tushiradi. Uning sozlash fayllari YAML tilida yozilgan.

Dockerning MacOS, Windows va Linux uchun versiyalari bor. Dasturni o’rnatib bo’lgach, docker-compose.yml fayli yordamida konteynerlar ishga tushiriladi.

* * *

Hozirgi ishga kirish jarayonida Dockerni o’rnatish bo’yicha test-topshiriq berishgandi. Windows 7’da Docker-toolbox orqali o’rnatganman, nima qilganim aniq esda yo’q, ammo chala qilgandim. Faoliyat jarayonida Docker bo’yicha orttirilgan tajribani Venda dasturi uchun qo’llash imkoni bo’ldi. Endi dasturni Dockerda o’rnatish mumkin (docker-compose.yml fayl bor).

Venda’ni Dockerga o’rnatish nima beradi?

Dasturni istalgan operatsion tizimda ishlatish, kerakli operativ xotira va protsessor resursini belgilash, eng muhimi yangi texnologiyalarni sinab ko’rish imkoni bo’ladi. Yaqin orada Views modulidan voz kechib backend uchun nodejs‘da API yozaman va frontendni React‘ga o’tkazaman.