Sunday, September 29, 2024

[Docker] Phần 2 – Cập nhật Image, lưu Image ra file và nạp Image từ file trong Docker

-

1. Mở Đầu.

Trong phần 1, chúng ta đã tìm hiểu về các khái niệm cơ bản về Docker, cách cài đặt và sử dụng Docker trên các hệ điều hành khác nhau, cũng như cách tạo và quản lý các container. Trong phần 2 này, chúng ta sẽ tiếp tục khám phá Docker bằng cách tìm hiểu cách cập nhật image, lưu image ra file và nạp image từ file trong Docker. Những thao tác này sẽ giúp bạn quản lý và chia sẻ các image Docker một cách hiệu quả.

Trong phần này, chúng ta sẽ tìm hiểu cách cập nhật image dựa trên các thay đổi trong container, sau đó lưu image ra file và nạp image từ file vào Docker. Điều này cho phép bạn duy trì và chia sẻ các phiên bản của image Docker dễ dàng hơn.

Lưu ý:
Để thực hiện các thao tác liên quan đến Docker, hãy đảm bảo bạn đã cài đặt Docker trên hệ thống của mình.

2. Cập nhật Image từ Container.

Trong Docker, bạn có thể cập nhật image dựa trên các thay đổi bạn đã thực hiện trong container. Sau đó, bạn có thể lưu image mới này ra file và nạp image từ file đó vào Docker. Dưới đây là cách thực hiện

Nếu bạn đã thực hiện các thay đổi trong một container và muốn cập nhật image tương ứng, bạn có thể sử dụng lệnh docker commit. Để làm điều này, trước tiên, dừng container nếu nó đang chạy:

docker stop mycontainer

Sau đó, sử dụng lệnh docker commit để tạo image mới:

docker commit mycontainer myimage:version

Trong đó:

  • mycontainer là tên hoặc ID của container bạn muốn tạo image từ.
  • myimage:version là tên và phiên bản mới của image. Nếu bạn muốn cập nhật image cũ, hãy sử dụng tên image gốc và phiên bản mới.

3. Lưu Image ra file.

Sau khi bạn đã cập nhật image, bạn có thể lưu image này ra một file trên máy host của bạn.

Sử dụng lệnh docker save để làm điều này:

docker save -o myimage.tar myimage:version
  • -o myimage.tar chỉ định tên của file xuất ra. Trong trường hợp này, tên file là myimage.tar.

4. Nạp Image từ file vào Docker:

Để nạp image từ file trở lại vào Docker, bạn có thể sử dụng lệnh docker load:

docker load -i myimage.tar
  • -i myimage.tar chỉ định tên của file chứa image để nạp vào Docker.

Lưu ý rằng khi bạn nạp image từ file, bạn sẽ có image mới trên hệ thống Docker của bạn và có thể tạo các container mới dựa trên image này.

Ví dụ thực hành.

Dưới đây là một ví dụ thực hành để tạo image mới từ một container và sau đó lưu image ra file:

Tải image CentOS nếu chưa có:

docker pull centos

Tạo và chạy một container có tên là mycentos từ image CentOS:

docker run -it --name mycentos centos

Trong container mycentos, cài đặt SSH Client:

yum install openssh-clients

Dừng container:

docker stop mycentos

Tạo image mới từ container mycentos:

docker commit mycentos centos-ssh:v1

Lưu image centos-ssh:v1 ra file:

docker save -o centos-ssh-v1.tar centos-ssh:v1

Nạp image từ file vào Docker (sau khi chuyển sang máy khác hoặc khi cần):

docker load -i centos-ssh-v1.tar

Bây giờ, bạn đã có một image mới có tên centos-ssh:v1 chứa SSH Client và có thể sử dụng nó để tạo các container mới.


Xóa Container cũ và Tạo Container mới từ Image mới:

Để xóa một container cũ và tạo ra một container mới từ image mới, bạn có thể sử dụng các lệnh sau:

Đầu tiên, xóa container cũ (mycentos trong ví dụ của bạn):

docker container rm mycentos

Sau khi container cũ đã được xóa, bạn có thể tạo một container mới từ image mới (centos-ssh:v1 trong ví dụ của bạn):

docker run --name newcontainer -it centos-ssh:v1

Container mới (newcontainer) đã được tạo và có sẵn SSH.

Lưu Image ra file và Nạp Image từ file:

Để lưu một image ra file và sau đó nạp image từ file vào Docker, bạn có thể sử dụng các lệnh sau:

  • Lưu image ra file (trong ví dụ này, tôi sử dụng tên myimage):
docker save --output myimage.tar myimage
  • Bạn có thể chỉ định đường dẫn đầy đủ của nơi lưu file, ví dụ: /path/to/directory/myimage.tar.
  • Để nạp image từ file vào Docker:
docker load -i myimage.tar
  • Điều này sẽ nạp image từ file myimage.tar vào Docker trên máy bạn. Đảm bảo rằng bạn đã chuyển file image này từ máy này sang máy khác nếu cần.

Đổi tên một Image đang có:

Để đổi tên một image có sẵn, bạn có thể sử dụng lệnh docker tag. Ví dụ:

docker tag image_id imagename:version
  • image_id là ID của image bạn muốn đổi tên.
  • imagename:version là tên và phiên bản mới bạn muốn đặt cho image.

Ví dụ:

docker tag oldimage:latest newimage:v2

Lệnh này sẽ đổi tên image từ oldimage:latest thành newimage:v2.

5. Tổng kết.

Docker là một công cụ mạnh mẽ cho phát triển và triển khai ứng dụng. Trong phần này, chúng ta đã tìm hiểu cách cập nhật image, lưu image ra file và nạp image từ file trong Docker. Điều này giúp bạn quản lý và chia sẻ các image Docker một cách linh hoạt và tiện lợi. Hi vọng rằng kiến thức này sẽ giúp bạn tận dụng toàn bộ tiềm năng của Docker trong quá trình phát triển và quản lý ứng dụng của mình.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories