برنامه نویسی

چگونه تصاویر ایجاد کنیم؟ (Dockerfile) – جامعه Dev

همانطور که قبلاً می دانیم ، تصاویر آماده را می توان در مخازن یافت و می توان به عنوان نیاز ما بارگیری و استفاده کرد. Docker Hub نمونه ای از این است.

به نظر می رسد که تصویری که می خواهیم از آن استفاده کنیم همیشه به روشی که می خواهیم آماده نیست و ما اغلب باید از تصویری که از قبل وجود دارد ، یک تصویر سفارشی داشته باشیم. برای این کار ما باید تصاویر خودمان را بسازیم.

Docker قادر است با خواندن تحریکات از متنی به نام ، به طور خودکار تصاویر بسازد Dockerfileبشر

Dockerfile یک فایل متنی با دستورالعمل ، دستورات و مراحل است که از طریق دستور اجرا می شود build برای تولید یک تصویر.

شرح تصویر

شرح تصویر

ما می توانیم از Dockerfile به عنوان یک پرونده زیادی فکر کنیم که حاوی دستورالعمل هایی با نحو تعریف شده (دستورالعمل آرگومان) است که باید دنبال کنیم تا یک تصویر ایجاد شود.

بیایید یک ایجاد کنیم تصویر از دبیان 8 چه نصب و شروع سرور چیز کوچک

  1. یک تصویر پایه را تعریف کنید
  2. اطلاعات را برای تصویر تعریف کنید
  3. دستورات را برای نصب و شروع nginx اجرا کنید
  4. در معرض کدام پورت سرور (در کانتینر) قرار دهید
  5. نقطه کاربرد برنامه را تعریف کنید
  6. اجرای یک دستور را برای بوت شدن سرور nginx تعریف کنید

dockerfile ایجاد کنید

FROM debian:8
LABEL version="1.0" description="Debin/Nginx"
RUN apt-get update && apt-get install -y nginx && apt-get clean
EXPOSE 80
ENTRYPOINT [ "/usr/sbin/nginx" ]
CMD ["-g" "daemon off;"]
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

buildar dockerfile

docker build -t yuripeixinho/img:1.0 .
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • docker build: فرمان که تصویر را می سازد
  • -t: برای اطلاع رسانی که تصویر متعلق به کاربر من است استفاده می شود
  • yuripeixinho/img:1.0: نام تصویر و برچسب منتسب به تصویر
  • .: به معنای فهرست فعلی است

ظروف را ایجاد و اجرا کنید

اکنون لازم است که برای ایجاد ظرف تصویر ایجاد شده ، دستور را اجرا کنید

 docker run -d -p 8080:80 --name=ws1 yuripeixinho/img:1.0
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • docker run: دستور ایجاد و اجرای یک ظرف جدید.
  • d (حالت جدا شده): کانتینر در پس زمینه اجرا می شود ، بدون اینکه ترمینال را مسدود کند.
  • p 8080:80 (اتصال بندر)

    Mapea در 8080 از میزبان به درب 80 از ظرف این بدان معنی است که اگر یک سرویس (مانند nginx) در ظرف در حال اجرا باشد 80، از طریق درب می توان به میزبان دسترسی پیدا کرد 8080 (http://localhost:8080).

  • -name=ws1: یک نام برای ظرف را تعریف می کند (ws1) ، بدون نیاز به استفاده از شناسه تولید شده به طور خودکار ، شناسایی و دستکاری خود را تسهیل کنید.

  • yuripeixinho/img:1.0: نام و برچسب تصویری که برای ایجاد ظرف استفاده می شود. تصویر yuripeixinho/img (نسخه 1.0) در صورت عدم وجود محلی ، از مخزن محلی یا توپی داکر بارگیری می شود.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا