No menu items!
No menu items!
More

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

    Lưu Container thành Image

    Như đã biết từ một Image bạn có thể sinh ra các Container, mỗi Container là bản thực thi của Image, khi sử dụng Container bạn có thể cấu hình, cài đặt thêm vào nó các package, đưa thêm dữ liệu …

    Đến một lúc, bạn muốn lưu những thay đổi này và ghi lại thành một Image để sau này bạn sinh ra các Container khác bản thân nó đã chữa những thay đổi bạn đã lưu. Giả sử bạn có một container có tên (hoặc id) là mycontainer nếu muốn lưu thành image thực hiện lệnh:

    docker commit mycontainer myimage:version

    Trong đó myimage và version là tên và phiên bản do bạn đặt. Nếu lưu cùng tên với image tạo ra container này, coi như image cũ được cập nhật mới.

    Sau lệnh này trong hệ thống docker của bạn có thêm image với tên bạn đặt. Thực hành ví dụ sau: (tạo một container hệ điều hành centos, cài đặt thêm vào nó gói SSH Client, lưu container này lại thành image, tạo một container từ image mới có)

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

    docker pull centos

    2. Tạo / chạy một container đặt tên là mycentos của centos

    docker run -it --name mycentos centos

    3. Cài SSH Client vào container mycentos Do centos cung cấp ở image trên không kèm theo SSH, nên muốn chạy SSH Client thì sẽ cài thêm. Giờ đang ở lệnh bash của container gõ lệnh sau để cài:

    yum install openssh-clients

    Sau khi cài đặt bạn đã có thể sử dụng lệnh ssh trên container này của bạn!

    4. Lưu container lại thành image: trước tiên nếu container đang chạy thì cho dừng lại

    docker stop mycontainer

    Gõ lệnh lưu container mycontainer thành image đặt tên là centos-ssh:v1

    docker commit mycentos centos-ssh:v1

    Như vậy bạn đã có một image mới, nó chính là centos có cài thêm ssh-client

    Bạn có thể xóa đi container cũ và tạo ra container mới sinh ra từ image mới

    docker container rm mycentos

    Tạo mới từ image centos-ssh:v1

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

    Khi container mới tạo ra (newcontainer), chạy nó đã có sẵn SSH

    Lưu Image ra file, Nạp image từ file

    Nếu muốn chia copy image ra máy khác ngoài cách đưa lên repository có thể lưu ra file, lệnh sau lưu image có tên myimage rà file

    docker save --output myimage.tar myimage

    File này có thể lưu trữ, copy đến máy khác và nạp vào docker, để nạp vào docker

    docker load -i myimage.tar

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

    docker tag image_id imagename:version

    Bài viết gần đây

    spot_img

    Related Stories

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    Đăng ký nhận thông tin bài viết qua email