Docker Compose પર આધારિત એપ્લીકેશનના સંચાલન અને જમાવટ માટે ઉપયોગમાં લેવાતું શક્તિશાળી અને લોકપ્રિય સાધન છે Docker. Docker તે તમને એક જ પ્રોજેક્ટ તરીકે બહુવિધ કન્ટેનરને વ્યાખ્યાયિત કરવા, ગોઠવવા અને ચલાવવાની મંજૂરી આપે છે, એપ્લિકેશન જમાવટને સરળ બનાવે છે અને વિકાસ અને ઉત્પાદન વાતાવરણ વચ્ચે સુસંગતતા સુનિશ્ચિત કરે છે.
નીચે કેટલાક ખ્યાલો અને ઉદાહરણો છે Docker Compose:
docker-compose.yml ફાઇલનો ઉપયોગ કરીને પ્રોજેક્ટને વ્યાખ્યાયિત કરો
ફાઇલમાં docker-compose.yml
, તમે તમારી એપ્લિકેશન માટે જરૂરી સેવાઓને વ્યાખ્યાયિત કરી શકો છો. ઉદાહરણ તરીકે, MySQL ડેટાબેઝ સાથે PHP વેબ એપ્લિકેશનનો ઉપયોગ કરવા માટે, તમે નીચે પ્રમાણે બે સેવાઓને વ્યાખ્યાયિત કરી શકો છો:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "80:80"
volumes:
- ./app:/var/www/html
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: my_database
ઉપરોક્ત કોડ સ્નિપેટમાં, અમે બે સેવાઓને વ્યાખ્યાયિત કરીએ છીએ: web
અને db
. સેવા સાથે web
PHP 7.4 નો ઉપયોગ કરશે, પોર્ટ 80 પર સાંભળો અને હોસ્ટમાંથી ડિરેક્ટરીમાં ડાયરેક્ટરી માઉન્ટ કરશે. સેવા MySQL 5.7 નો ઉપયોગ કરશે અને ડેટાબેઝ માટે જરૂરી કેટલાક પર્યાવરણ ચલો સેટ કરશે. image Apache ./app
/var/www/html
container db
image
Docker Compose આદેશનો ઉપયોગ કરીને
એકવાર તમે ફાઇલમાં પ્રોજેક્ટને વ્યાખ્યાયિત કરી લો તે પછી docker-compose.yml
, તમે Docker Compose સેવાઓનું સંચાલન કરવા માટે આદેશોનો ઉપયોગ કરી શકો છો.
-
પ્રોજેક્ટ શરૂ કરો:
docker-compose up
આ આદેશ ફાઇલમાં વ્યાખ્યાયિત સેવાઓ માટે કન્ટેનર શરૂ કરશે
docker-compose.yml
. -
રોકો અને કન્ટેનર દૂર કરો:
docker-compose down
આ આદેશ પ્રોજેક્ટથી સંબંધિત તમામ કન્ટેનરને અટકાવે છે અને દૂર કરે છે.
-
ચાલતા કન્ટેનરની સૂચિ:
docker-compose ps
આ આદેશ પ્રોજેક્ટમાં કન્ટેનરની સ્થિતિ પ્રદર્શિત કરશે.
-
સેવા લોગ જુઓ:
docker-compose logs
આ આદેશ પ્રોજેક્ટમાં સેવાઓના લોગ દર્શાવે છે.
પર્યાવરણ ચલો અને કસ્ટમાઇઝેશન
Docker Compose તમને વિવિધ પર્યાવરણો માટે રૂપરેખાંકનોને કસ્ટમાઇઝ કરવા માટે પર્યાવરણ ચલોનો ઉપયોગ કરવાની પરવાનગી આપે છે, જેમ કે વિકાસ અને ઉત્પાદન. તમે ફાઇલમાં પર્યાવરણ ચલોનો ઉપયોગ કરી શકો છો docker-compose.yml
અને અનુરૂપ .env
ફાઇલોમાં તેમના મૂલ્યોને વ્યાખ્યાયિત કરી શકો છો.
ઉદાહરણ તરીકે, જો તમે સેવાના પોર્ટ માટે પર્યાવરણ ચલને વ્યાખ્યાયિત કરવા માંગતા હો web
, તો તમે .env
ફાઇલમાં આની જેમ એક લાઇન ઉમેરી શકો છો:
WEB_PORT=8080
પછી, ફાઇલમાં docker-compose.yml
, તમે આ પર્યાવરણ ચલનો આ રીતે ઉપયોગ કરી શકો છો:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "${WEB_PORT}:80"
volumes:
- ./app:/var/www/html
આદેશ ચલાવતી વખતે docker-compose up
, web
સેવા પોર્ટ 80 ને બદલે પોર્ટ 8080 પર સાંભળશે.
Docker સ્વામ સાથે સંકલન
જો તમે તમારી એપ્લિકેશનને બહુવિધ નોડ્સ સાથે વિતરિત પર્યાવરણ પર જમાવવા માંગતા હો, તો Docker Compose સાથે સંકલિત કરી શકો છો Docker Swarm. આ તમને ક્લસ્ટરમાં બહુવિધ નોડ્સ પર સેવાઓનું સંચાલન કરવાની મંજૂરી આપે છે Docker.
--orchestrate
આ સંકલનનો ઉપયોગ કરવા માટે, તમારે ફક્ત અથવા વિકલ્પો ઉમેરવાની જરૂર છે --with-registry-auth
જ્યારે ચાલતી વખતે docker stack deploy
અથવા docker-compose up
પર્યાવરણમાં આદેશો Swarm.
Docker Compose સરળ અને કાર્યક્ષમ એપ્લિકેશન વિકાસ, પરીક્ષણ અને જમાવટ માટે ઉપયોગી સાધન છે. તે વિકાસ અને ઉત્પાદન વાતાવરણ વચ્ચેના તફાવતોને ઘટાડે છે, સોફ્ટવેર વિકાસ પ્રક્રિયામાં સુસંગતતા સુનિશ્ચિત કરે છે અને વિકાસ ટીમોની ઉત્પાદકતામાં વધારો કરે છે.