Podman : Docker Compose का प्रयोग करें2024/05/05 |
Docker Compose को स्थापित करने के लिए, Docker एप्लिकेशन के रूप में एकाधिक कंटेनरों को कॉन्फ़िगर करना और चलाना आसान है।
Docker Compose Podman 3.0 या उसके बाद के संस्करण पर समर्थित है। |
|
[1] | |
[2] | Docker Compose इंस्टॉल करें। |
root@dlp:~#
curl -L https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
root@dlp:~#
root@dlp:~# chmod 755 /usr/local/bin/docker-compose
/usr/local/bin/docker-compose --version Docker Compose version v2.27.0 |
[3] | उदाहरण के लिए, Docker Compose के साथ एक एप्लिकेशन को कॉन्फ़िगर करें जिसमें वेब और DB सेवाएँ हैं। |
FROM ubuntu MAINTAINER ServerWorld <admin@srv.world> RUN apt-get update RUN apt-get -y install nginx RUN echo "Compose Test on Nginx" > /var/www/html/index.html EXPOSE 80 CMD ["/usr/sbin/nginx", "-g", "daemon off;"] services: db: image: docker.io/library/mariadb volumes: - /var/lib/containers/disk01:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: password MYSQL_USER: ubuntu MYSQL_PASSWORD: password MYSQL_DATABASE: ubuntu_db user: 0:0 privileged: true ports: - "3306:3306" web: build: . ports: - "80:80" volumes: - /var/lib/containers/disk02:/usr/share/nginx/html privileged: true # बनाएं और चलाएं root@dlp:~# /usr/local/bin/docker-compose up -d [+] Running 2/2 ✓ Container root-web-1 Started 0.5s ✓ Container root-db-1 Started 0.5sroot@dlp:~# podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bfd4a69009e5 docker.io/moby/buildkit:buildx-stable-1 4 minutes ago Up 4 minutes buildx_buildkit_default cd88fe33591a docker.io/library/root-web:latest /usr/sbin/nginx -... About a minute ago Up About a minute 0.0.0.0:80->80/tcp root-web-1 2950f7b74af7 docker.io/library/mariadb:latest mariadbd About a minute ago Up About a minute 0.0.0.0:3306->3306/tcp root-db-1 # पहुंच सत्यापित करें root@dlp:~# mysql -h 127.0.0.1 -u root -p -e "show variables like 'hostname';" Enter password: +---------------+--------------+ | Variable_name | Value | +---------------+--------------+ | hostname | 2950f7b74af7 | +---------------+--------------+root@dlp:~# mysql -h 127.0.0.1 -u ubuntu -p -e "show databases;" Enter password: +--------------------+ | Database | +--------------------+ | information_schema | | ubuntu_db | +--------------------+root@dlp:~# curl 127.0.0.1 Compose Test on Nginx |
[4] | Docker Compose के अन्य बुनियादी संचालन इस प्रकार हैं। |
# कंटेनरों की स्थिति सत्यापित करें root@dlp:~# /usr/local/bin/docker-compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS root-db-1 docker.io/library/mariadb:latest "mariadbd" db 7 seconds ago Up 6 seconds 3306/tcp root-web-1 docker.io/library/root-web:latest "/usr/sbin/nginx -g …" web 7 seconds ago Up 6 seconds 80/tcp # कंटेनरों के लॉग दिखाएं root@dlp:~# /usr/local/bin/docker-compose logs db-1 | 2024-05-05 05:22:31+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.3.2+maria~ubu2204 started. db-1 | 2024-05-05 05:22:31+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' db-1 | 2024-05-05 05:22:31+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:11.3.2+maria~ubu2204 started. db-1 | 2024-05-05 05:22:31+00:00 [Note] [Entrypoint]: MariaDB upgrade not required ..... ..... db-1 | 2024-05-05 5:22:31 0 [Note] mariadbd: Event Scheduler: Loaded 0 events db-1 | 2024-05-05 5:22:31 0 [Note] mariadbd: ready for connections. db-1 | Version: '11.3.2-MariaDB-1:11.3.2+maria~ubu2204' socket: '/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution # किसी कंटेनर के अंदर कोई भी कमांड चलाएँ # कंटेनर नाम [docker-compose.yml] में केवल एक सेट है root@dlp:~# /usr/local/bin/docker-compose exec db /bin/bash root@142e39567911:/# # एप्लिकेशन बंद करें और सभी कंटेनर भी बंद करें root@dlp:~# /usr/local/bin/docker-compose stop [+] Stopping 2/2 ✓ Container root-web-1 Stopped 0.2s ✓ Container root-db-1 Stopped 0.5s # एप्लिकेशन में अकेले एक सेवा प्रारंभ करें # यदि निर्भरता सेट की जाती है, तो अन्य कंटेनर प्रारंभ हो जाता है root@dlp:~# /usr/local/bin/docker-compose up -d web [+] Running 1/1 ✓ Container root-web-1 Started 0.1sroot@dlp:~# /usr/local/bin/docker-compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS root-web-1 docker.io/library/root-web:latest "/usr/sbin/nginx -g …" web 4 minutes ago Up 27 seconds 80/tcp # एप्लिकेशन में मौजूद सभी कंटेनर हटा दें # यदि कोई कंटेनर चल रहा है, तो उसे हटाया नहीं जाएगा root@dlp:~# /usr/local/bin/docker-compose rm
[+] Removing 1/0e root-db-1 (y/N) y
✓ Container root-db-1 Removed
|
Sponsored Link |
|