ENTRYPOINT dạng shell nuốt sạch tham số người dùng, không một dòng lỗi — và một chữ exec cứu mã thoát
Bốn tổ hợp ENTRYPOINT và CMD, đo hành vi thật của từng cái, và một dòng exec quyết định container của bạn thoát với mã 0 hay 137.
Bốn tổ hợp ENTRYPOINT và CMD, đo hành vi thật của từng cái, và một dòng exec quyết định container của bạn thoát với mã 0 hay 137.
Đo build context với BuildKit: 150 B dù thư mục dự án 28 MB, và chỗ .dockerignore thật sự đáng giá là cache chứ không phải tốc độ truyền.
Đo cache của layer: thứ tự COPY quyết định thời gian build, touch không phá cache, và vì sao tách apt-get update ra dòng riêng vừa làm image to hơn vừa cài gói cũ.
Mỗi lệnh Dockerfile thật sự sinh ra gì: dạng shell so với exec, COPY so với ADD, EXPOSE không mở cổng, VOLUME rò rỉ volume, và ARG lộ bí mật.
Dựng registry thật rồi đẩy đè lên chính một tag. Đo chuyện xảy ra với máy đã pull, vì sao digest mới là thứ đáng tin, latest không phải mới nhất, và --pull=always tốn 1 665 ms.
Vòng đời một container: sáu trạng thái, chuyện gì xảy ra ở mỗi bước, lớp ghi tốn bao nhiêu, và vì sao đừng bao giờ tin vào thời gian ân hạn mặc định.