Hướng Dẫn Docker Commit, Lưu Image Ra File Và Import Image

Giới Thiệu

Docker là nền tảng giúp triển khai và quản lý ứng dụng thông qua các container một cách nhanh chóng và linh hoạt. Trong quá trình sử dụng Docker, đôi khi bạn cần lưu lại trạng thái hiện tại của một container để tạo thành image mới, hoặc sao lưu image ra file để di chuyển sang máy chủ khác.

Với lệnh docker commit, bạn có thể tạo một image mới từ container đang chạy sau khi đã thực hiện các thay đổi bên trong container. Ngoài ra, Docker còn hỗ trợ lưu image ra file bằng lệnh docker save để backup hoặc chia sẻ, và nạp lại image từ file bằng lệnh docker load khi cần sử dụng lại.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách commit container thành image, cách lưu image ra file trên hệ thống và cách import image trở lại Docker, giúp bạn dễ dàng quản lý, sao lưu và triển khai container trong nhiều môi trường khác nhau.

Hướng Dẫn Docker Commit, Lưu Image Ra File Và Import Image

1. Tải hệ điều hành nếu chưa có 

vNode Tutorial
docker pull ubuntu

Docker 26

2. Tạo một container từ image ubuntu

vNode Tutorial
docker run -it --name myubuntu ubuntu

Docker 27

3. Cài một số gói cho hệ điều hành 

vNode Tutorial
apt install nano 

Docker 28

4. Lưu container thành image

Trước khi lưu container thành image, bạn nên dừng container nếu nó đang chạy để đảm bảo dữ liệu được lưu lại ổn định và tránh lỗi trong quá trình tạo image.

Bước 1: Kiểm tra container đang chạy 

vNode Tutorial
docker ps 

Docker 29

Bước 2: Dừng container đang chạy 

vNode Tutorial
docker stop myubuntu

Docker 30

Bước 3: Lưu container thành image 

vNode Tutorial
docker commit myubuntu ubuntu_backup

Trong đó: 

  • docker commit
    Là lệnh dùng để lưu lại toàn bộ thay đổi trong container (file, cấu hình, phần mềm đã cài đặt…) và tạo thành một image mới.

  • myubuntu
    tên hoặc ID của container mà bạn muốn lưu lại.

  • ubuntu_backup
    tên của image mới sẽ được tạo ra sau khi commit.

Docker 31

Sau khi thực hiện lệnh docker commit, một Docker Image mới đã được tạo. Image này dựa trên hệ điều hành ubuntu và đã bao gồm thêm gói nano và htop mà bạn đã cài đặt trước đó trong container.

Docker 32

5. Tạo container mới từ image đã commit 

Sau khi đã tạo được Docker Image mới, bạn có thể xóa container cũ và tạo một container mới từ image vừa tạo.

Bước 1: Xóa container cũ 

Nếu container cũ không còn sử dụng, bạn có thể xóa bằng lệnh:

vNode Tutorial
docker container rm myubuntu

Docker 33

Bước 2: Tạo container mới từ image 

vNode Tutorial
docker run --name newcontainer -it ubuntu_backup

Docker 34

Trong đó:

  •  –name newcontainer: đặt tên cho container mới

  • -it : chạy container ở chế độ tương tác (interactive terminal)

  • ubuntu_backup : image dùng để tạo container

6. Lưu docker image ra file và nạp image từ file

Ngoài cách đưa image lên Docker Repository, bạn cũng có thể xuất (export) Docker Image ra file để lưu trữ hoặc sao chép sang máy khác.

Bước 1: Lưu Docker Image ra file

vNode Tutorial
docker save --output myubuntu.tar ubuntu_backup

Trong đó: 

  • docker save : dùng để xuất Docker Image ra file
  • –output myubuntu.tar : tên file sẽ được tạo ra
  • ubuntu_backup : tên image cần lưu

Docker 35

Bước 2: Nạp Docker Image từ file

vNode Tutorial
docker load -i myubuntu.tar

Trong đó:

docker load : dùng để nạp image vào Docker

-i : chỉ định file image cần import

Docker 36

Bước 3: Đổi tên một Image 

vNode Tutorial
docker tag image_id imagename:version

Ví dụ: 

vNode Tutorial
docker tag d4fde7968bf5 ubuntu:version1

Docker 37

Kết luận

Qua các bước trên, bạn đã biết cách lưu Docker Image ra file và nạp lại Image từ file một cách dễ dàng. Việc sử dụng lệnh docker save giúp xuất image thành file .tar để sao lưu hoặc chuyển sang máy khác, trong khi lệnh docker load cho phép nạp lại image vào Docker để sử dụng.

Ngoài ra, bạn cũng có thể đổi tên hoặc gắn tag cho image bằng lệnh docker tag để quản lý phiên bản image rõ ràng hơn.

Nhờ các thao tác này, bạn có thể dễ dàng chia sẻ, sao lưu và triển khai Docker Image trên nhiều máy chủ khác nhau mà không cần phải tải lên Docker Hub hoặc các repository trực tuyến.