۲۹.دستورات مدیریتی داکر - docker network

docker networkاین قسمت در مورد docker network می‌خواهیم صحبت کنیم. این دستور به ما کمک خواهد کرد که شبکه‌ی ارتباطی docker و کانتیرهای آن را مدیریت کنیم و ارتباط کانتینر‌ها با یکدیگر و هاست خود و دیگر هاست‌ها را پیکربندی نماییم.docker network --helpاین دستور ۷ تا آپشن دارد که تعدادی از آنها خیلی اهمیت دارد و بسیار پر مصرف می‌باشد. دستور docker network connect:با استفاده از این آپشن می‌توانید یک کانتینر را به یک شبکه‌ که ایجاد کرده‌اید متصل نمایید. این دستور خودش دارای آپشن‌هایی هست که با استفاده از آن می‌توان کانتینر را به شبکه متصل کرد. docker network connect --helpبا استفاده از آپشن‌ها می‌توان به کانتینر alias داد و برای آن ip نسخه‌ی ۴ و ۶ قرار داد و بین کانتینرها لینک ایجاد کرد. با استفاده از این آپشن می‌توان کانتینرهایی که ایجاد شده است را به شبکه‌های مختلف که ساخته شده است متصل کرد. به مثال‌های زیر توجه کنید:docker network connect network1 container1 docker network connect --ip 10.10.36.122 network1 container1 docker network connect --link container2:c2 network1 container2 docker network connect --alias db --alias mysql network1 container2در مثال‌‌های بالا مشاهده می‌کنید که کانتینر در حال کار را به یک شبکه متصل کرده که در این راستا کانفیگ‌های دیگری اعم از IP و لینک و موارد این‌چنینی را انجام داده است.دستور docker network create:با استفاده از این آپشن شما می‌توانید یک network ایجاد کنید. این دستور نیز خودش دارای آپشن‌های زیادی می‌باشد که با استفاده از آنها می‌توانید network را با جزئیات بیشتری ایجاد کنید.docker network create --helpمعمولا تمام این آپشن‌ها مورد استفاده نیست و بیشتر در سناریو‌ها این موارد را بررسی می‌کنیم. در اینجا به بیان چند مثال اکتفا می‌کنیم. در این مثال یک network با درایور bridge ایجاد شده است که نام آن my-bridge-network می‌باشد.docker network create -d bridge my-bridge-networkدر این مثال یک network با subnet مشخص ip ایجاد شده است که نام آن multi-host-network می‌باشد.docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 multi-host-networkدر این مثال یک network با subnet مشخص ایجاد شده است که درایور آن را نیز bridge قرار داده است که برای درایور bridge آپشن mtu را برابر 9216 قرار داده است. docker network create --driver=bridge --subnet=172.28.0.0/16 --ip-range=172.28.5.0/24 --gateway=172.28.5.254 --opt com.docker.network.driver.mtu=9216 br0همان‌طور که در مثال‌های بالا مشاهده کردید تقریبا تمام موارد مربوط به پیکربندی network را می‌توانید با آپشن‌های موجود در هنگام ایجاد network بر روی آن اعمال کنید. توضیح تمام این موارد را می‌توانید در این لینک مشاهده کنید و اینکه بنا بر نیاز برخی از این آپشن‌ها در سناریوهای پیاده‌سازی بررسی خواهد شد.دستور docker network disconnect:این دستور برعکس دستور connect کانتینر شما را از network شما قطع خواهد کرد و به network پیش‌فرض متصل می‌کند. تنها یک آپشن دارد که مربوط به force می‌باشد. به الگو استفاده‌ی آن توجه کنید.docker network disconnect --helpبه مثال زیر توجه کنید:docker network disconnect multi-host-network container1دستور docker network inspect:با استفاده از این دستور می‌توانید جزئیات کامل و تمامی اطلاعات موجود در مورد network که ایجاد شده است را داشته باشید.docker network inspect --helpبه صورت پیش‌فرض خروجی که به شما نمایش می‌دهد به صورت JSON می‌باشد. با استفاده از آپشن f- می‌توانید فرمت مد نظر خودتون در خروجی این دستور را داشته باشید. هر زمانی که یک network ایجاد کردید با استفاده از این دستور می‌توانید بررسی کنید که مواردی که اعمال کردید به درستی ایجاد شده است و یا اینکه چه کانتینرهایی در حال حاضر با این network در ارتباط هستند. دستور docker network ls:با استفاده از این دستور شما می‌توانید لیست networkهایی که ایجاد کردید را مشاهده کنید. این دستور دارای چند تا آپشن می‌باشد که با توجه به توضیحات دستورات قبلی تمام موارد آن مشخص می‌باشد.docker network ls --helpبه مثال‌های زیر توجه کنید:در مثال زیر لیست networkهایی را نمایش می‌دهد که درایور آنها bridge باشد. docker network ls --filter driver=bridgeمواردی که بر اساس آن می‌توان در این دستور filter نوشت تا خروجی دلخواه را داشت به قرار زیر است.docker network ls --filter یکی دیگر از آپشن‌هایی که مورد استفاده دارد format است که بر اساس آن می‌توان خروجی را متناسب با دلخواه و مورد استفاده خود تغییر داد و آن را ایجاد کرد. مواردی که در فرمت می‌توان آنها را داشت به قرار زیر است:docker network ls --formatبرای مثال زمانی که بخواهید در خروجی فقط id و driver مربوط به هر network را داشته باشید از دستور زیر استفاده می‌کنید. docker network ls --format "{{.ID}}: {{.Driver}}"دستور docker network prune:با استفاده از این دستور شما می‌توانید تمام networkهایی که بی استفاده است را پاک کنید.docker network prune --helpآپشن‌های این دستور مشخص می‌باشد که با یکی از آنها فیلتری برای مشخص کردن اینکه کدام یک از آپشن‌ها پاک شود مشخص خواهید کرد و با یکی دیگر برای پاک کردن اجبار ایجاد خواهید کرد. بر اساس موارد زیر می‌توانید برای این دستور فیلتر مشخص بنویسید.docker network prune --filter دستور docker network rm:با استفاده از این دستور نیز می‌توانید network ایجاد شده را پاک نمایید. docker network rm my-networkآموزش داکر و پلتفرم https://dockerme.ir