توضیح دستورات داکر – این قسمت docker events, exec, export, import

دستور docker events:

با استفاده از این دستور می‌توانید events های سرویس داکر خودتون رو بررسی کنید. هر اتفاقی در سرویس‌ دهنده‌ی داکر در تمامی کامپوننت‌های آن رخ دهد می‌توانید لاگ آن را مشاهده کنید.

docker events --help

آپشن filter: با استفاده از این آپشن می‌توانید برای خروجی ارائه شده فیلتر بنویسید. تغییرات در هر آبجکت داکر همانند ایمیج و کانتینر و … را در این لاگ اضافه می‌کند. لیست این موارد در این لینک فهرست شده است. این لیست تقریبا تمام مواردی که مورد نیاز است را شامل می‌شود. به خاطر گسترده بودن لاگ‌های خروجی، این آپشن اهمیت خیلی زیادی دارد زیرا می‌توان با استفاده از آن لاگ را متناسب با هدفی که داریم جدا کنیم و مشاهده کنیم. در ادامه لیست مواردی که می‌توان در فیلتر قرار داده آورده شده است.

docker events --filter

آپشن format: با استفاده از این آپشن می‌توانید فرمت خروجی را متناسب با نظر خودتون تغییر بدهید. قالبی که از آن پیروی می‌کند همان قالب پیش‌فرض Go می‌باشد که در این لینک می‌توانید آن را بررسی کنید. یکی از فرمت‌های اصلی ارائه خروجی با قالب json است.

آپشن since: برای این است که رخدادها را از چه زمانی به شما نمایش دهد.

آپشن until: برای این است که رخداد‌ها را تا چه زمانی به شما نمایش دهد.

در مثال‌های زیر به صورت کامل این موضوع مشخص می‌باشد.

				
					$ docker events --format '{{json .}}'
{"status":"create","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4..    {"status":"attach","id":"196016a57679bf42424484918746a9474cd905dd993c4d0f4..

$ docker events --since '10m'
۲۰۱۷-۰۱-05T00:35:41.241772953+08:00 volume create testVol (driver=local)
۲۰۱۷-۰۱-05T00:35:58.859401177+08:00 container create d9cd...4d70 (image=alpine:latest, name=test)

$ docker events --filter 'event=stop'
۲۰۱۷-۰۱-05T00:40:22.880175420+08:00 container stop 0fdb...ff37 (image=alpine:latest, name=test)
۲۰۱۷-۰۱-05T00:41:17.888104182+08:00 container stop 2a8f...4e78 (image=alpine, name=kickass_brattain)
				
			
				
					$ docker events --filter 'image=alpine'
۲۰۱۷-۰۱-05T00:41:55.784240236+08:00 container create d9cd...4d70 (image=alpine, name=happy_meitner)
۲۰۱۷-۰۱-05T00:41:55.913156783+08:00 container start d9cd...4d70 (image=alpine, name=happy_meitner)
				
			
				
					$ docker events --filter 'container=test'
۲۰۱۷-۰۱-05T00:43:00.139719934+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test)
۲۰۱۷-۰۱-05T00:43:09.259951086+08:00 container kill 0fdb...ff37 (image=alpine:latest, name=test, signal=15)
				
			
				
					$ docker events --filter 'container=test' --filter 'container=d9cdb1525ea8'
۲۰۱۷-۰۱-05T00:44:11.517071981+08:00 container start 0fdb...ff37 (image=alpine:latest, name=test)
۲۰۱۷-۰۱-05T00:44:17.685870901+08:00 container start d9cd...4d70 (image=alpine, name=happy_meitner)
				
			

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

دستور docker exec:

با استفاده از این دستور می‌توانید در کانتینرهای در حال کار دستور اجرا کنید.

docker exec --help

آپشن detach: با استفاده از این آپشن دستور شما در background کانتینر اجرا می‌شود.

آپشن detach-keys: با این آپشن کلید‌‌های مربوط به جدا شدن از کانتینر را نادیده می‌گیرد.

آپشن env: می‌توان متغییرهای محیطی (environment variables) برای آن تنظیم کرد.

آپشن interactive: با استفاده از این دستور می‌توانید به صورت تعاملی با کانتینر ارتباط داشته باشید.

آپشن privileged: دستور را با دسترسی بالا اجرا می‌کند.

آپشن tty: با این دستور می‌توانید از کانتینر خود یک tty داشته باشید.

آپشن user: می‌توان user یا uid و group یا gid برای آن تنظیم کرد.

آپشن workdir: می‌توانید دستور مد نظر خود را در دایرکتوری که مشخص می‌کنید اجرا شود.

این دستور بسیار کاربردی بوده و ممکن است در طی کار با کانتینرها بارها به این دستور نیاز پیدا کنید. به مثال‌های زیر توجه کنید.

				
					$ docker exec -d my_container touch /tmp/execWorks
				
			
				
					$ docker exec -it my_container bash
				
			
				
					$ docker exec -it -e VAR=1 my_container bash
				
			
				
					$ docker exec -it my_container pwd
/
				
			

دستور docker export:

با استفاده از این دستور می‌توانید فایل‌ سیستم‌ کانتینر خود را به صورت آرشیو برای خودتون نگه دارید. این دستور تنها یک آپشن دارد که برای مشخص کردن خروجی است.

docker export --help

آپشن o-: با استفاده از این آپشن می‌توان مسیر و نام فایلی که ایجاد می‌شود را مشخص کرد.

به مثال‌های زیر توجه کنید.

				
					$ docker export my_container > latest.tar
				
			
				
					$ docker export --output="latest.tar" my_container
				
			

دستور docker import:

 

با استفاده از این دستور فایل‌سیستمی که قبلا export کرده بودیم و آرشیو شده بود را می‌توانید به صورت فایل‌سیستم یک ایمیج جدید آن را وارد کنیم.

بدون آپشن می‌توانید فایل tar را از مسیری یا از یک url فراخوانی کنید و آن را با نام یک ایمیج جدید ذخیره نمایید.

آپشن change: با استفاده از این آپشن می‌توانید در هنگام ایجاد ایمیج از دستورات داکرفایل در آن استفاده کنید و در ایمیج نهایی آنها را قرار دهید. دستورالعمل‌هایی که از داکرفایل می‌توانید اینجا استفاده کنید در ادامه لیست شده است.

				
					CMD | ENTRYPOINT | ENV | EXPOSE | ONBUILD | USER | VOLUME | WORKDIR 
				
			

آپشن message: هنگام ایجاد ایمیج پیغامی باهاش ذخیره کنید که به شما بعدا در بررسی آن کمک کند.

به مثال‌های زیر توجه کنید.

				
					$ sudo tar -c . | docker import --change "ENV DEBUG true" - exampleimagedir
				
			
				
					$ sudo tar -c . | docker import - exampleimagedir  
				
			
				
					$ docker import /path/to/exampleimage.tgz
				
			
				
					$ cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new
				
			
				
					$ docker import http://example.com/exampleimage.tgz
				
			

دیدگاه‌ خود را بنویسید

مقاله های داکرمی

داکر - Docker

راه‌اندازی لاگ سرور با استفاده از داکر

سلام قبلا در مورد مانیتورینگ تو این پست صبحت کردیم. اینجا می‌خواهیم طبق قراری که داشتیم در مورد لاگ سرور یا همون لاگینگ باهم صحبت کنیم. مانیتورینگ و لاگینگ چشم و گوش ما برای دیدن سرورها و سرویس‌های خودمون هستند.

توضیحات بیشتر »
داکر - Docker

راه‌اندازی مانیتورینگ با استفاده از داکر

سلام تو این پست می‌خواهیم در مورد مانیتورینگ باهم صحبت کنیم. مانیتورینگ و لاگینگ چشم و گوش ما برای دیدن سرورها و سرویس‌های خودمون هستند. اگر به این موارد به خوبی دقت نکنیم همواره با مشکلاتی روبه‌رو خواهیم بود که

توضیحات بیشتر »
پیمایش به بالا