منو سایت

  • خانه
  • وبلاگ
  • آموزش اشتراک گذاری داده ها بین کانتینر داکر و هاست

آموزش اشتراک گذاری داده ها بین کانتینر داکر و هاست

 تاریخ انتشار :
/
  وبلاگ
آموزش اشتراک گذاری داده ها بین کانتینر داکر و هاست

به طور کلی کانتینرهای داکر برای مدت طولانی کار نمی کنند. در واقع این کانتینرها موقتی هستند و تا زمانی که دستور صادر شده در کانتینر کامل نشود کار خواهند کرد. تمام داده های تولید شده در کانتینر فقط در صورت اجرا در کانتینر در دسترس خواهند بود. در این مقاله نحوه اشتراک گذاری داده ها بین کانتینر داکر و هاست را به شما آموزش می دهیم.

به اشتراک گذاری داده بین کانتینر داکر و میزبان

از حجم های داکر می توان برای اشتراک گذاری فایل ها بین سیستم های میزبان و کانتینرهای داکر استفاده کرد. به عنوان مثال، اگر قصد دارید از تصویر رسمی Docker Nginx استفاده کنید و یک کپی دائمی از فایل های گزارش Nginx را برای تجزیه و تحلیل نگه دارید، به طور پیش فرض تصویر Docker Nginx به پوشه var / log / nginx و ظرف Docker Nginx می رود.

اطلاعات بین میزبان، کانتینر و داکر

چگونه کانتینر، داکر و هاست را به هم وصل کنیم؟

پیش نیازها

برای انجام این کار، به یک سرور اوبونتو 18.04 نیاز دارید که دارای پیش نیازهای زیر باشد:

  1. یک کاربر غیر ریشه با امتیازات sudo که از راهنمای نصب اولیه سرور اوبونتو پیروی می کند.
  2. Docker با دستورالعمل های مرحله اول و دوم که در زیر توضیح داده شده و در اوبونتو استفاده می شود.

توجه: حتماً توجه داشته باشید که حتی اگر پیش نیازها دستورالعمل‌هایی را برای نصب Docker در اوبونتو 18.04 ارائه می‌دهند، دستورات حجم داده‌های Docker باید در زمان نصب Docker بر روی سایر سیستم‌عامل‌ها اجرا شوند.

مرحله 1. حجم صحافی

دستور زیر یک دایرکتوری به نام nginxlogs در دایرکتوری ریشه کاربر فعلی شما ایجاد می کند و آن را به / var / log / nginx در ظرف منتقل می کند:

$ docker run --name=nginx -d -v ~/nginxlogs:/var/log/nginx -p 5000:80 nginx

اکنون نگاهی دقیق تر به این دستور خواهیم داشت:

  • -Name = nginx کانتینر را نامگذاری می کند تا بتوانیم راحتتر به آن دسترسی داشته باشیم.
  • -d مسئول اجرای فرآیند و اجرای آن در پس زمینه است. در غیر این صورت فقط اعلان Nginx خالی را خواهیم دید. توجه داشته باشید که تا زمانی که Nginx را نکشیم نمی توانیم از این ترمینال استفاده کنیم.
  • -v ~ / nginxlogs: / var / log / nginx حجم Bindmount را تنظیم می کند و پوشه / var / log / nginx ظرف Nginx را با دایرکتوری ~ / nginxlogs دستگاه میزبان مرتبط می کند.
  • داکر از مسیر کانتینر برای شکافتن مسیر میزبان استفاده می کند و مسیر میزبان همیشه قبل از مسیر کانتینر است.
  • -p 5000: 80 پورت ارسال را نیز تنظیم می کند. ظرف Nginx به طور پیش فرض پورت 80 را فراخوانی می کند. این پرچم کانتینرهای پورت 80 را به پورت 5000 در سیستم های میزبان بازیابی می کند.
  • nginx مشخص می کند که کانتینر باید از تصویر Nginx ساخته شود، که دستور nginx -g “daemon off” را برای شروع Nginx صادر می کند.

به کانتینر ابری و داکر و هاست متصل شوید

تیم داکر در اوبونتو 18.04

توجه: پرچم -v بسیار انعطاف پذیر است. این به شما امکان می دهد صدا را با یک تغییر جزئی در تنظیمات نامگذاری یا مرتبط کنید.

اگر آرگومان اول با / یا ~ / شروع شود، Bindmount را ایجاد می کنید.

-v / path: / path / in / کانتینر دایرکتوری میزبان را نصب می کند. / path در / path / in / container

مسیر -v: / path / in / container همچنین حجمی به نام path بدون اتصال به هاست ایجاد می کند.

مرحله 2. به داده های میزبان دسترسی پیدا کنید

ما قبلاً یک نسخه از Nginx در حال اجرا در ظرف Docker دستگاه یا میزبان خود داریم و پورت 5000 دستگاه میزبان ما مستقیماً روی این نسخه از پورت 80 Nginx نوشته شده است.

آدرس را در مرورگر وب خود با استفاده از IP یا نام میزبان خود بارگیری کنید و شماره پورت http:// your_server_ip: 5000 است.

به اشتراک گذاری داده بین کانتینر داکر و میزبان

یک ظرف nginx بسازید

جالب است بدانید که اگر به لیست ~ / nginxlogs در هاست نگاه کنید، access.log ایجاد شده توسط ظرف nginx را مشاهده خواهید کرد. این درخواست شما را نشان می دهد:

$ cat ~/nginxlogs/access.log

این دستور باید به شکل زیر باشد:

خروج

۲۰۳٫۰٫۱۱۳٫۰ - - [۱۱/Jul/2018:00:59:11 +0000] "GET / HTTP/1.1" 200 612 "-"
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36" "-"

اگر در پوشه / nginxlogs تغییراتی ایجاد کنید، می توانید آنها را از کانتینر Docker مشاهده کنید.

نتیجه

در این مقاله نحوه اشتراک گذاری داده ها بین کانتینر، داکر و هاست را به شما آموزش می دهیم. با این آموزش می توانید به راحتی یک حجم داده Docker برای به اشتراک گذاری اطلاعات بین کانتینر و فایل سیستم میزبان ایجاد کنید.

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

1. ظروف داکر چقدر دوام می آورند؟

کانتینرهای Docker موقتی هستند و تا زمانی که دستور صادر شده در کانتینر تکمیل شود اجرا می شوند.

2. چگونه می توانیم فایل ها را بین سیستم ها و کانتینرهای Docker به اشتراک بگذاریم؟

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

3. برای استفاده از این روش برای اشتراک گذاری فایل ها بین سیستم ها و کانتینر داکر به چه ابزارهایی نیاز دارید؟

به سرور اوبونتو 18.04

{“@context”: “https://schema.org”، “@type”: “FAQPage”، “mainEntity”: [{
“@type”: “Question”,
“name”: “کانتینرهای داکر تا چه زمانی کار می‌کنند؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “کانتینرهای داکر حالت موقتی دارند و تا زمانی کار خواهند کرد که فرمان‌ صادرشده در کانتینر تکمیل شود.”
}
},{
“@type”: “Question”,
“name”: “چگونه می‌توانیم فایل‌ها را بین سیستم هاست و کانتینر داکر به‌اشتراک بگذاریم؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “از حجم‌های Docker می‌توانید برای اشتراک‌گذاری فایل‎ها بین سیستم هاست و کانتینر داکر استفاده کنید.”
}
},{
“@type”: “Question”,
“name”: “استفاده از این روش برای اشتراک‌گذاری فایل‌ها بین سیستم هاست و کانتینر داکر به چه ابزاری نیاز دارد؟”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “به سرور اوبونتو ۱۸٫۰۴”
}
}]
}

درس اشتراک گذاری داده بین کانتینر داکر و هاست برای اولین بار در پارسوپک. به نظر می رسد.