Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Docker image là bất biến. Sau khi được build, chúng không thay đổi. Điều này đảm bảo tính nhất quán, khả năng dự đoán và tính ổn định. Mọi container được tạo từ cùng một image đều hoạt động giống hệt nhau, giúp việc quản lý phiên bản trở nên an toàn và dễ dàng.
Nhưng điều gì sẽ xảy ra nếu bạn cần điều chỉnh thứ gì đó bên trong một container đang chạy, chẳng hạn như cài đặt một gói hoặc cập nhật cấu hình? Đó là lúc lệnh `docker commit` phát huy tác dụng. Nó cho phép bạn ghi lại các thay đổi trong một container đang chạy và tạo một image mới mà không cần chạm vào image gốc. Điều này rất tuyệt vời để kiểm tra các bản sửa lỗi, lặp lại nhanh chóng và triển khai những image tùy chỉnh mà không cần build lại từ đầu.
Docker image bao gồm nhiều lớp chỉ đọc. Khi bạn chạy một container, Docker sẽ thêm một lớp ghi mỏng ở trên cùng được gọi là lớp container. Bất kỳ thay đổi nào bạn thực hiện chỉ xảy ra trong lớp trên cùng này. Sau khi container bị xóa, tất cả các thay đổi trong lớp đó sẽ biến mất, giữ nguyên image gốc.
Thiết kế này đảm bảo một số lợi ích:
Mọi container từ cùng một image đều hoạt động giống nhau, đảm bảo tính nhất quán.
Các thay đổi trong một container không image hưởng đến những container khác, mang lại khả năng dự đoán.
Bạn có thể gắn thẻ các phiên bản image cụ thể một cách an toàn mà không gặp rủi ro. Thiết kế này cung cấp độ ổn định tuyệt vời, nhưng lại hạn chế bạn khi muốn thực hiện các thay đổi nhanh chóng đối với một container đang chạy. Đó là lúc lệnh `docker commit` phát huy tác dụng.
Khi bạn chạy lệnh `docker commit`, Docker sẽ ghi lại trạng thái hiện tại của một container đang chạy và tạo một image mới từ đó. Nó chụp nhanh hệ thống file của container, lưu lại bất kỳ thay đổi nào bạn đã thực hiện, chẳng hạn như các gói đã cài đặt, cấu hình được cập nhật hoặc những file đã sửa đổi, dưới dạng một lớp image mới. Bằng cách này, image gốc vẫn không bị image hưởng, cho phép bạn thử nghiệm và lặp lại nhanh chóng.

Điều này làm cho nó lý tưởng để lưu thiết lập cơ bản tùy chỉnh để sử dụng lại trong tương lai, áp dụng các bản sửa lỗi nhỏ hoặc thay đổi cấu hình trong quá trình thử nghiệm hoặc chia sẻ image đã cập nhật với nhóm của bạn mà không cần phải build lại Dockerfile từ đầu.
Bạn có thể sử dụng lệnh `docker commit` với cú pháp sau để tạo một image mới từ một container đang chạy:
docker commit [OPTIONS] CONTAINER_ID NEW_IMAGE_NAME[:TAG]Ở đây, `CONTAINER_ID` là ID hoặc tên của container bạn muốn chụp, `NEW_IMAGE_NAME` là tên bạn muốn đặt cho image mới, và `TAG` là tùy chọn, mặc định là `latest`.
Lưu ý: `docker commit` là một alias cũ cho `docker container commit`; cả hai đều giống nhau.
Lệnh `docker commit` cung cấp một số tùy chọn cho phép bạn thêm siêu dữ liệu, áp dụng các thay đổi cấu hình và kiểm soát cách thức hoạt động của quá trình cam kết. Bảng dưới đây tóm tắt tất cả các tùy chọn được hỗ trợ:
Tùy chọn | Dạng dài | Mô tả | Ví dụ |
| -a | -author | Thêm tên tác giả vào siêu dữ liệu của image mới | docker commit -a "Anees" my-container my-image |
| -c | -change | Áp dụng các chỉ thị trong Dockerfile như ENV, LABEL hoặc CMD cho Docker image mới | docker commit -c "ENV APP_ENV=prod" my-container my-image |
| -m | -message | Thêm một thông báo ngắn mô tả những thay đổi đã được thực hiện trên image | docker commit -m "Installed curl" my-container my-image |
| -p | -pause | Tạm dừng quá trình commit trong container để đảm bảo tính nhất quán (mặc định: true) | docker commit --pause=false my-container my-image |




Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Resources và Prompts: Hai yếu tố cơ bản còn lại trong MCP
MCP server thực tế: Database, API và file
Hướng dẫn bật phụ đề AI gọi video trên Zalo
Bảo mật, xác thực và triển khai MCP
Xây dựng và triển khai MCP server đa công cụ
Cách quản lý hiệu quả nhiều Claude Code session chạy song song
Promp thiết kế nhãn vở trên ChatGPT
Tư duy phân tích có sự hỗ trợ của AI
Đặt câu hỏi tốt hơn khi phân tích dữ liệu bằng AI
Hướng dẫn tạo video quảng cáo sản phẩm trên Flow
Hướng dẫn kết nối YouTube trên n8n
Khám phá dữ liệu nhanh chóng khi phân tích bằng AI
Hướng dẫn thiết kế trò chơi trên Educaplay bằng câu lệnh
Cách tạo hội thoại ôn tập tiếng Anh trên Educaplay
Mẫu prompt tạo kịch bản review sản phẩm dạng video ngắn
Vibe Coding là gì?
Lựa chọn công cụ Vibe Coding phù hợp
Prompt tạo ảnh móc khóa đủ thể loại với AI
Tạo prompt: Kỹ năng Vibe Coding cốt lõi