آموزش استفاده از دستور attach در Docker

docker container attach command
20 اسفند 1403

آشنایی با دستور attach در Docker


دستوری که می‌خواهیم در مورد آن صحبت کنیم docker container attach است که به ما اجازه می‌دهد به کانتینر در حال اجرا متصل شویم. با استفاده از این دستور می‌توانیم خروجی‌های یک کانتینر را مشاهده کنیم یا با آن تعامل کنیم. این ویژگی بسیار مفید است، به ویژه زمانی که می‌خواهید ببینید کانتینر شما دقیقاً چه کار می‌کند یا می‌خواهید وارد محیط ترمینال آن شوید.


وقتی شما از دستور docker attach استفاده می‌کنید، به جریان ورودی و خروجی یک کانتینر وصل می‌شوید. به عبارت دیگر، شما می‌توانید مستقیماً با فرآیندهای در حال اجرا درون کانتینر ارتباط برقرار کنید. اما توجه داشته باشید که وقتی شما به یک کانتینر متصل می‌شوید، تنها می‌توانید از ورودی‌های آن استفاده کنید و به طور همزمان نمی‌توانید به چندین کلاینت متصل شوید.


در حالت کلی، برای استفاده صحیح از این دستور باید مطمئن شوید که کانتینر شما دارای یک شل تعاملی است. برای مثال، اگر شما از یک کانتینر با پایگاه‌داده استفاده می‌کنید، اتصالات به این نوع کانتینر معمولاً با attach عملی نیستند چون ورودی و خروجی به‌صورتی طراحی نشده‌اند که تعاملی باشند.


این دستور در واقع بخشی از فرمان‌های CLI داکر است و با یادگیری آن می‌توانید کارهای بسیار مفیدی انجام دهید. در ادامه به یک مثال کاربردی از این دستور توجه خواهیم کرد.


نمونه کد


# ابتدا یک کانتینر جدید با یک شل تعاملی ایجاد می‌کنیم
docker run -it --name mycontainer ubuntu

# حالا به این کانتینر متصل می‌شویم
docker container attach mycontainer

توضیح کد


docker run -it --name mycontainer ubuntu: این خط یک کانتینر جدید از تصویر ubuntu ایجاد می‌کند و با گزینه -it یک محیط تعاملی برای ما فراهم می‌آورد.




docker container attach mycontainer: با استفاده از این خط، ما به کانتینر mycontainer متصل می‌شویم و قادر خواهیم بود که ورودی‌ها و خروجی‌های آن را مشاهده کنیم.


سوالات متداول

؟

چطور می‌توانم به یک کانتینر در حال اجرا متصل شوم؟

؟

آیا می‌توانم همزمان به چند کانتینر متصل شوم؟

؟

دستور attach چه تفاوتی با exec دارد؟