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

همانطور که قبلاً می دانیم ، تصاویر آماده را می توان در مخازن یافت و می توان به عنوان نیاز ما بارگیری و استفاده کرد. Docker Hub نمونه ای از این است.
به نظر می رسد که تصویری که می خواهیم از آن استفاده کنیم همیشه به روشی که می خواهیم آماده نیست و ما اغلب باید از تصویری که از قبل وجود دارد ، یک تصویر سفارشی داشته باشیم. برای این کار ما باید تصاویر خودمان را بسازیم.
Docker قادر است با خواندن تحریکات از متنی به نام ، به طور خودکار تصاویر بسازد Dockerfile
بشر
Dockerfile یک فایل متنی با دستورالعمل ، دستورات و مراحل است که از طریق دستور اجرا می شود build
برای تولید یک تصویر.
ما می توانیم از Dockerfile به عنوان یک پرونده زیادی فکر کنیم که حاوی دستورالعمل هایی با نحو تعریف شده (دستورالعمل آرگومان) است که باید دنبال کنیم تا یک تصویر ایجاد شود.
بیایید یک ایجاد کنیم تصویر از دبیان 8 چه نصب و شروع سرور چیز کوچک
- یک تصویر پایه را تعریف کنید
- اطلاعات را برای تصویر تعریف کنید
- دستورات را برای نصب و شروع nginx اجرا کنید
- در معرض کدام پورت سرور (در کانتینر) قرار دهید
- نقطه کاربرد برنامه را تعریف کنید
- اجرای یک دستور را برای بوت شدن سرور 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
) در صورت عدم وجود محلی ، از مخزن محلی یا توپی داکر بارگیری می شود.