cuốn sách gpt4 ai đã làm

Docker hình ảnh tối ưu hóa

In lại Tác giả: Sahara Thời gian cập nhật: 26-12-2024 16:47:42 57 4
mua khóa gpt4 Nike

1. Tổng quan

  Là một công cụ chứa công nghệ phổ biến, Docker mang đến cho các nhà phát triển sự tiện lợi tuyệt vời. Nó được tích hợp và đóng gói một ứng dụng. hình image. sử dụng giữ, do đó tăng đáng kể tốc độ tải xuống và phát triển mặt khác, nó cũng có thể tăng cường hiệu quả tính toán bảo mật hệ thống và đảm bảo hoạt động ổn định của ứng dụng.

  Trong bài viết này, chúng ta sẽ thảo luận về một loạt các kỹ thuật tối ưu hóa hình ảnh Docker thực tế để giúp đỡ các nhà phát triển dễ dàng nắm bắt kỹ năng quan trọng này, thiết lập nền tảng vững chắc để xây dựng các ứng dụng được đóng gói hiệu quả và đáng tin cậy, đồng thời giúp quá trình phát triển và phát triển khai báo của bạn mượt mà hơn, cải thiện an toàn im lặng.

2. Docker hình ảnh có kỹ năng tối ưu hóa

2.1 Sử dụng hình ảnh cơ bản phù hợp

Chọn cơ sở hình ảnh phù hợp là một bước quan trọng trong công việc tối ưu hóa hình ảnh Docker. Cố gắng chọn một hình ảnh. hình ảnh cơ bản có kích thước nhỏ và có chức năng đơn giản.

  • Ví dụ: Alpine là một bản phân phối Linux nhẹ nhàng phù hợp để sử dụng nền tảng cho Docker hình ảnh.
  • Ví dụ: distroless có tính bảo mật cao. các thùng chứa việc gỡ lỗi dựa trên hình ảnh không có bản phân phối".

Ví dụ: sau đây là ví dụ về Dockerfile use Alpine làm cơ sở hình ảnh:

# Sử dụng Alpine làm hình ảnh cơ sở TỪ Alpine:3.15 # Cài đặt các phần phụ thuộc cần thiết RUN apk add --no-cache python3 py3-pip # Đặt thư mục làm việc WORKDIR /app # Sao chép tệp ứng dụng COPY . r require.txt # Khởi động ứng dụng CMD ["python3", "app.py"] 

2.2 RUN command

Mỗi RUN lệnh tạo ra một lớp mới, tăng kích thước của hình ảnh. số lượng lớp hình ảnh sẽ làm giảm kích thước của hình ảnh.

Ví dụ:

# Không nên: thêm apk RUN xây dựng nhiều lớp --no-cache git RUN apk thêm --no-cache Curl

# Khuyến nghị thực hiện: Kết quả RUN lệnh.

Thêm apk RUN --no-cache git Curl

2.3 Dọn dẹp các tập tin không cần thiết

Command up up can be used in Dockerfile để giảm kích thước ảnh.

Ví dụ:

# Cài đặt các phần phụ thuộc và xóa bộ nhớ cache RUN apk add --no-cache git Curl && rm -rf /var/cache/apk/*

2.4 Sử dụng tệp .dockerignore

Dockerbỏ qua thiết bị được đưa vào hình ảnh.

Ví dụ: tạo tệp .dockerignore trong thư mục gốc của dự án với nội dung sau:

# Loại trừ các tệp và thư mục không cần thiết *.log node_modules/

2.5 Sử dụng nhiều giai đoạn xây dựng các bản dựng

Bản dựng nhiều giai đoạn cho phép bạn sử dụng nhiều hướng dẫn TỪNG trong Dockerfile để sao chép chỉ các tệp được yêu cầu request to the end of image. chi tiết, vui lòng tham khảo bài đăng trên blog "Ý nghĩa của nhiều lệnh trong Dockerfile".

Ví dụ:

# Giai đoạn 1: Xây dựng ứng dụng TỪ golang:1.22 AS builder #RUN #go env -w GOPROXY=https://goproxy.cn,direct # Chạy ứng dụng này với docker build --build_arg $(go env GOPROXY) để ghi đè goproxy #ARG goproxy=https://goproxy.cn,direct #ENV GOPROXY=$goproxy WORKDIR /workspace COPY ../../apis apis/ COPY ../../clients client/ COPY ../ ../cmd cmd/ COPY ../../pkg/controllers bộ điều khiển/ COPY ../../pkg pkg/ COPY ../.. /pkg/hằng số/ SAO CHÉP ../../swaggerDocs swaggerDocs/ SAO CHÉP ../../go.mod go.mod SAO CHÉP ../../go.sum go.sum CHẠY go mod gọn gàng && go mod nhà cung cấp
# Không buộc xây dựng các bản cập nhật gói (không sử dụng -a) và sử dụng bộ đệm thư mục của RUN biên dịch CGO_ENABLED=0 GOOS=linux GOARCH=${TARGETPLATFORM} go build -o /workspace/ke ./cmd/ ke ke /bin/ke ĐIỂM VÀO ["/bin/ke"] 

2.6 Sử dụng thẻ và kiểm soát phiên bản

Việc gắn nhãn cho hình ảnh cho phép kiểm soát và quản lý phiên bản một cách dễ dàng để tránh nhầm lẫn hình ảnh của các phiên bản các bản khác nhau.

Ví dụ:

# Xây dựng hình ảnh và gắn nhãn cho nó docker build -t helloworld:1.0 .

3. Tóm tắt

  Trong làn sóng các ứng dụng được đóng gói, việc tối ưu hóa hình ảnh Docker có ý nghĩa rất lớn trong việc cải thiện hiệu quả performance and security application. xây dựng một nền tảng vững chắc và có thể kiểm soát một cách hiệu quả và chức năng vi phạm của hình ảnh. Việc kết hợp khéo léo các liên kết hướng dẫn có thể tránh được việc tăng các lớp hình ảnh một cách không cần thiết và giảm kích thước của một hiệu ứng. dockerignore để Loại trừ các tệp chính xác và thư mục không liên quan, tốc độ xây dựng tăng lên và giảm tải áp dụng chiến lược. xây dựng nhiều giai đoạn và lọc từng bước để chỉ giữ lại các thành phần cần thiết cho hoạt động cuối cùng, giảm độ phức tạp và nâng cao hiệu quả.

  Tuân theo quy tắc "vùng hình ảnh chỉ chứa các ứng dụng và thời gian phụ thuộc của chúng", hãy sử dụng sử dụng các kỹ thuật tối ưu hóa này để làm cho Docker hình ảnh được sắp xếp hợp lý và hiệu quả hơn, đảm bảo phát triển khai chia sẻ và nhanh chóng sử dụng các ứng dụng trong khu vực, đồng thời giúp nhà phát triển tận dụng tối đa công việc Docker nghệ thuật.

Tham khảo: "Giới thiệu về hình ảnh không phân phối và vùng chứa lỗi dựa trên hình ảnh không phân phối".

Tham khảo: "Tầm quan trọng của sự tồn tại của nhiều hướng dẫn Từ trong Dockerfile".

Cuối cùng, bài viết về Docker hình ảnh tối ưu này đã kết thúc tại đây. Docker của tôi trong tương lai .

57 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress