یک Dockerfile یک فایل متنی است که دارای دستورات ایجاد یک تصویر داکری است. به این دستورات directives نیز گفته می شود.با Dockerfile ها میتوانیم مکانیسم هایی را پیاده سازی کنیم که تصاویر اختصاصی خود را با توجه به نیازمان ایجاد کنیم. به صورت توافقی برای تمام بخش های Dockerfile کامنت گذاری نیز میکنیم که خوانا تر و قابل فهم تر باشند.

به صورت کلی:

# This is a comment

DIRECTIVE argument

در اکثر مواقع Dockerfile ها شامل بیشتر از یک خط کامنت و دستور هستند. دستورات Dockerfile نیز به ترتیب از ابتدا به انتها اجرا می شوند(مثل زبان های برنامه نویسی). برای کامنت مانند زبان پایتون از # استفاده میکنیم. Dockerfile ها تنها کامنت های یک خطی را قبول میکنند. اگر میخواهید کامنت های چند خطی بنویسید باید ابتدای هر خط کامنت از #استفاده کنید.

دستورات Dockerfile بر خلاف برنامه نویسی اما case-sensitive نیستند. البته DIRECTIVE ها case-insensitive هستند و برای اینکه مشکلات کمتری ایجاد شوند، DIRECTIVE ها را با حروف بزرگ و دستورات را با حروف کوچک مینویسیم.

در قسمت بعدی DIRECTIVE ها را باهم بررسی می کنیم.


اگر از اوبونتو های 18.04 به بعد استفاده میکنید مرتبا از شما خواسته می شود که time zone را وارد کنید. با اجرای دستور زیر در ترمینال این مسئله را حل کنید:

ARG DEBIAN_FRONTEND=non_interactive