مقدمه

Docker ابزاری عالی برای خودکار سازی برنامه های کاربردی لینوکس در کانتینرهای نرم افزاری است ، اما برای بهره گیری کامل از پتانسیل آن ، هر یک از اجزای برنامه باید در کانتینر شخصی خود اجرا شود. برای برنامه های کاربردی پیچیده با اجزای فراوان ، که همه کانتینرها را با هم برای راه اندازی ، برقراری ارتباط و خاموش کردن به کار میگیرند ، خیلی سریع می توانند ناخوشایند شوند. انجمن Docker با یک راه حل محبوب به نام Fig روبرو شد که به شما این امکان را می دهد تا از یک فایل YAML استفاده کنید تا همه کانتینرها و پیکربندی های Docker خود را بر روی آن تنظیم کنید. این امر چنان محبوب شد که تیم Docker تصمیم گرفت تا Docker Compos را بر اساس منبع Fig بسازد ، که اکنون مستهلک شده است. Docker Compose به کاربران این امکان را می دهد تا فرآیندهای کانتینرهای داکر را از جمله راه اندازی ، خاموش کردن و تنظیم لینک ها و والیوم های داخل کانتینری را هماهنگ کنند. در این آموزش ، آخرین نسخه Docker Compose را برای کمک به شما در مدیریت برنامه های چند کانتینری روی یک سرور مجازی Debian 10 نصب خواهید کرد. پیش نیازها برای دنبال کردن این مقاله ، به این موارد نیاز دارید: یک سرور مجازی Debian 10 و یک کاربر غیر root با امتیازات sudo . این لینک در مورد تنظیم اولیه سرور مجازی با آموزش Debian 10 نحوه انجام این دستورالعمل های مرحله 1 و مرحله 2 نحوه نصب و استفاده از Docker در Debian 10 نصب شده است توجه: اگرچه پیش نیازها دستورالعمل نصب Docker در Debian 10 را ارائه می دهند ، دستورات docker در این مقاله باید بعد از نصب Docker روی سیستم عامل های دیگر کار کنند. مرحله 1 – نصب Docker Compose اگرچه می توانید Docker Compose را از منابع رسمی Debian نصب کنید ، اما نسخه های متعدد فرعی بعد از آخرین نسخه موجود است ، بنابراین در این آموزش آن را از منبع Docker's GitHub نصب خواهید کرد. دستورالعمل کمی متفاوت از آنچه در صفحه نسخه ها خواهید یافت ، میباشد. این دستور با استفاده از فلگ -o برای مشخص کردن فایل خروجی به جای تغییر مسیر خروجی ، از وارد شدن به خطای " permission denied " ناشی از استفاده از sudo جلوگیری می کند. نسخه فعلی را بررسی کنید و در صورت وم آن را در دستور زیر به روز کنید: $ sudo curl -L https://github.com/docker/compose/releases/download/1.25.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose سپس مجوزها را تنظیم خواهیم کرد: $ sudo chmod +x /usr/local/bin/docker-compose سپس با بررسی نسخه تأیید خواهیم کرد که نصب با موفقیت انجام شد: $ docker-compose --version با این کار نسخه ای که نصب کردیم چاپ خواهد شد: Output docker-compose version 1.25.3, build d4d1b42b اکنون که Docker Compose نصب شده است ، ما آماده اجرای یک مثال " Hello World " هستیم. مرحله 2 - اجرای یک کانتینر با Docker Compose رجیستری داکر عمومی ، Docker Hub ، شامل تصویر Hello World برای نمایش و آزمایش است. این حداقل تنظیمات مورد نیاز برای اجرای یک کانتینر را با استفاده از Docker Compose نشان می دهد: یک فایل YAML که یک تصویر واحد را فراخوانی می کند. ما این تنظیمات حداقل را برای اجرای کانتینرهای hello-world ایجاد خواهیم کرد. ابتدا دایرکتوری برای فایل YAML ایجاد کنید و به آن سوییچ کنید: $ mkdir hello-world $ cd hello-world سپس فایل YAML را ایجاد کنید: $ nano docker-compose.yml مطالب زیر را در فایل قرار داده ، فایل را ذخیره کرده و از ویرایشگر متن خارج شوید: docker-compose.yml my-test: image: hello-world خط اول در فایل YAML به عنوان بخشی از نام کانتینر استفاده می شود. خط دوم مشخص می کند از کدام تصویر برای ایجاد کانتینر استفاده کنید. هنگامی که ما دستور docker-compose up را اجرا می کنیم ، به دنبال یک تصویر محلی با نامی که مشخص کردیم ، یعنی hello-world هستیم. با این جایگزینی ، فایل را ذخیره کرده و خارج می شویم. با فرمان docker images می توانید به صورت دستی به تصاویر موجود در سیستم ما نگاه کنید: $ docker images هنگامی که هیچ تصاویر محلی وجود ندارد ، فقط عناوین ستون نمایش داده می شود: Output REPOSITORY TAG IMAGE ID CREATED SIZE اکنون ، اگر هنوز در فهرست ~ / hello-world هستید ، دستور زیر را اجرا کنید: $ docker-compose up اولین باری که دستور را اجرا می کنید ، اگر هیچ تصویری محلی به نام hello-world وجود ندارد ، Docker Compose آن را از منبع عمومی Docker Hub بیرون می کشد: Output Pulling my-test (hello-world:). latest: Pulling from library/hello-world 9db2ca6ccae0: Pull complete Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc Status: Downloaded newer image for hello-world:latest . . . پس از کشیدن تصویر ، docker-compose یک کانتینر ایجاد می کند ، ضمیمه می کند و برنامه hello را اجرا می کند ، که به نوبه خود تأیید می کند که نصب در حال کار است: Output . . . Creating helloworld_my-test_1. Attaching to helloworld_my-test_1 my-test_1 | my-test_1 | Hello from Docker. my-test_1 | This message shows that your installation appears to be working correctly. my-test_1 | . . . سپس توضیحی درباره آنچه انجام داده چاپ می کند: Output To generate this message, Docker took the following steps: my-test_1 | 1. The Docker client contacted the Docker daemon. my-test_1 | 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. my-test_1 | (amd64) my-test_1 | 3. The Docker daemon created a new container from that image which runs the my-test_1 | executable that produces the output you are currently reading. my-test_1 | 4. The Docker daemon streamed that output to the Docker client, which sent it my-test_1 | to your terminal. کانتینرهای داکر فقط تا زمانی که دستور فعال است اجرا می شوند ، بنابراین پس از پایان کار hello ، کانتینر متوقف شد. در نتیجه ، هنگامی که به فرآیندهای فعال نگاه می کنیم ، سرصفحات ستون ظاهر می شود ، اما کانتینرهای hello world لیست نمی شود زیرا در حال اجرا نیست: $ docker ps Output CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES با استفاده از فلگ -a می توانید اطلاعات کانتینر را که در مرحله بعدی به آن نیاز دارید را مشاهده کنید. این همه کانتینرها را نشان می دهد، و نه فقط موارد فعال: $ docker ps -a Output CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 06069fd5ca23 hello-world "/hello" 35 minutes ago Exited (0) 35 minutes ago hello-world_my-test_1 این خروجی اطلاعاتی را نشان می دهد که باید پس از اتمام کار با کانتینر از آن حذف کنید. مرحله 3 - حذف تصویر (اختیاری) برای جلوگیری از استفاده غیر ضروری از فضا دیسک ، تصویر محلی را حذف خواهیم کرد. برای انجام این کار ، ما باید تمام کانتینرهای حاوی تصویر را با استفاده از دستور docker rm حذف کنیم ، به دنبال آن یا CONTAINER ID یا NAME حذف می شود. در مثال زیر ، ما از دستور docker ps -a که اخیراً اجرا کردیم، استفاده می کنیم. حتماً شناسه کانتینر خود را جایگزین کنید: $ docker rm 06069fd5ca23 پس از حذف همه کانتینرهای حاوی تصویر ، می توانیم تصویر را حذف کنیم: $ docker rmi hello-world نتیجه شما Docker Compose را روی Debian 10 نصب کرده اید، نصب خود را با اجرای یک مثال Hello World آزمایش کرده و تصویر و کانتینر مورد آزمایش را حذف کرده اید. در حالی که مثال Hello World نصب شما را تأیید کرد ، این پیکربندی ساده یکی از مزایای اصلی Docker Compose را نشان نمی دهد – آن هم توانایی بالا و پایین آوردن گروهی از کانتینرهای Docker به صورت همزمان. برای دیدن نحوه استفاده از Docker Compose با جزئیات بیشتر ، به نحوه نصب وردپرس با Docker Compose نگاهی بیندازید. از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید : نحوه تایید صحت رمز عبور با Apache در اوبونتو .04 نحوه نصب و استفاده از TimescaleDB در CentOS 7 نحوه تایید صحت رمز عبور با Apache در اوبونتو .04 (شروع سریع) نحوه راه اندازی Eclipse Theia Cloud IDE Platform در Debian 10 نحوه نصب و استفاده ازRadamsa برای فوز کردن برنامه ها (تکنیک تست خودکار نرم افزار) و خدمات شبکه روی Ubuntu .04 نحوه نصب Docker Compose در Debian 10 چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو .04 نحوه تنظیم پلتفرم Eclipse Theia Cloud IDE در CentOS 7 بسته بندی برنامه Laravel 6 برای توسعه با Docker Compose در اوبونتو .04 نحوه بهینه سازی درخواست های MySQL با ذخیره سازی ProxySQL در اوبونتو 16.04 نحوه استفاده از Ansible برای نصب و راه اندازی وردپرس با LAMP در اوبونتو .04 چگونه می توان پلتفرم کد سرور Cloud IDE را در اوبونتو .04 تنظیم کرد (شروع سریع) چگونه می توان از رول های ansible برای انتزاع محیط زیرساختی خود استفاده کرد نحوه پیکربندی یک خوشه Galera با MySQL در سرورهای اوبونتو .04 نحوه تهیه نسخه پشتیبان و بازیابی یک خوشه Kubernetes در vpsgol با استفاده از Velero نحوه نصب و استفاده از PostgreSQL در CentOS 7 چگونه می توان پلتفرم Eclipse Theia Cloud IDE را روی اوبونتو .4 تنظیم کرد نحوه استقرار و مدیریت DNS با استفاده از DNSControl در Debian 10 چگونه می توان پلتفرم Cloud IDE کد سرور را روی CentOS 7 تنظیم کرد   کلمات کلیدی خرید سرور خرید vpsخرید سرور مجازیخرید سرورسرور هلندفروش vpsسرور مجازی آمریکاخریدvpsسرور مجازی هلندفروش سرور مجازیسرور آمریکاvpsسرور مجازی انگلیسسرور مجازی آلمانسرور مجازی کاناداخرید vps آمریکاخرید وی پی اسسرورخرید سرور مجازی هلندvps خریدسرور مجازی فرانسهسرور مجازی هلندخرید vps آمریکاخرید سرور مجازی هلندخرید وی پی اسخرید vps هلندخرید vps فرانسه

نحوه اجرای صفحه گذاری در MySQL با PHP روی اوبونتو 18.04

چگونه می توان با کتابخانه (library) درخواست ها در پایتون شروع به کار کرد

نحوه نصب Docker Compose در Debian 10

docker ,، ,– ,compose ,hello ,نصب ,docker compose ,hello world ,my test ,test 1 ,سرور مجازی ,eclipse theia cloud ,مثال hello world ,created status ports ,status ports names

مشخصات

تبلیغات

آخرین ارسال ها

برترین جستجو ها

آخرین جستجو ها

نالر طالوت ◕‿◕ داناب صنایع سنگ و سرامیک طراحی سایت، سئو، تبلیغات در گوگل پژوهش نگار دکتر سید سعید موسوی دکترسیداحسان عسکری افزایش فروش سوپر مارکت ها موزیک یا موسیقی... مسئله این نیست! مسئله هنر است!