021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

نوشتن داکرفایل ( multi-stage )

در این قسمت قرار است با .dockerignore و multi-stage آشنا شویم و توضیحاتی راجب به این دو مبحث به شما بدهیم ما را دنبال کنید.

حذف کردن(نادیده گرفتن) با dockerignore.

برای حذف فایل هایی که مربوط به ساخت نیستند(بدون تغییر در ساختار مخزن منبع (source repository) خود) از یک پرونده dockerignore. استفاده کنید.
این فایل از الگوهای حذف و یا نادیده گرفتن شبیه به فایلهای gitignore. پشتیبانی می کند. برای اطلاعات در مورد ایجاد یک فایل dockerignore. به اینجا مراجعه کنید.

استفاده از ساخت‌های چند مرحله‌ای یا multi-

stage builds

Multi-stage builds یا ساخت های چند مرحله ای این اجازه را به شما میدهند که بدون کاهش میانگین تعداد فایل ها و لایه ها اندازه ایمیج خود را به شدت کاهش دهید.به دلیل اینکه ایمیج ها در مراحل پایانی ساخته میشوند با استفاده از حافظه نهان یا کش (cache) لایه های ایمیج را به حداقل برسانید.
برای مثال اگر build شما حاوی چندین لایه است شما میتوانید آنها را به ترتیب از مواردی که کمتر تغییر می‌کنند تا مواردی که بیشتر تغییر پیدا می‌کنند، شناسایی و مرتب کنید(برای اطمینان از استفاده مجدد در حافظه نهان).

• ابزارهایی را که برای ساختن برنامه نیاز دارید نصب کنید
• بروزرسانی یا نصب کتابخانه های مورد نیاز
• ساخت برنامه
یک Dockerfile برای برنامه Go می تواند مانند این باشد:(با multi-stage)

FROM golang:1.11-alpine AS build

# Install tools required for project
# Run `docker build --no-cache .` to update dependencies
RUN apk add --no-cache git
RUN go get github.com/golang/dep/cmd/dep

# List project dependencies with Gopkg.toml and Gopkg.lock
# These layers are only re-built when Gopkg files are updated
COPY Gopkg.lock Gopkg.toml /go/src/project/
WORKDIR /go/src/project/
# Install library dependencies
RUN dep ensure -vendor-only

# Copy the entire project and build it
# This layer is rebuilt when a file changes in the project directory
COPY . /go/src/project/
RUN go build -o /bin/project

# This results in a single layer image
FROM scratch
COPY --from=build /bin/project /bin/project
ENTRYPOINT ["/bin/project"]
CMD ["--help"]

مقالات مرتبط

نوشتن داکرفایل (انواع build context)
بهترین روش برای نوشتن داکرفایل ( pipe – stdin )
بهترین روش ها برای نوشتن داکرفایل(build context)
بهترین روش ها برای نوشتن داکرفایل
همچنین شما میتوانید از اینجا و اینجا سایر مقالات در مورد داکر را مطالعه کنید.

محمد حجازی

31 مطلب منتشر شده

محمد حجازی هستم برنامه نویس و علاقمند به تکنولوژی و کامپیوتر. در تلاشیم که همه با هم یه قدم در راستای گسترش علم برداریم.

درباره این مطلب نظر دهید !

مطالب پرمخاطب پایتونی ها

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2