Hướng dẫn backup và restore Docker Container

Hướng dẫn backup và restore Docker ContainerCuongquach.com | Bài viết này sẽ hướng dẫn bạn backuprestore một docker container đang chạy/đã stop như thế nào ? Trên thực tế thì các Docker Container ứng dụng khi deploy lên các hệ thông Container Orchestrator như Kubernetes/ECS/GKE,… thì thường sẽ bắt đầu bằng các bước build image mới, đánh tag image mới và deploy docker image tag version mới đó (CICD).

Idea trong bài viết này chính là đóng gói cả một Docker Container lại thành 1 Docker Image mới. Vậy trường hợp khi nào ta backup/restore cả một Docker Container đây, thường là các bạn mới làm quen Docker Container, host Docker Container trên một máy chủ dịch vụ standalone. Hoặc cũng có thể bạn đã mở terminal container và chỉnh sửa gì đấy rồi muốn backup nguyên cái con container đó.

backup-restore-docker-container

Lưu ý:

  • Hướng dẫn này không backup các mount point với Docker Container. Nếu xài mount point data volume thì hãy backup data volume riêng.
  • Cẩn thận với dung lượng size đang chạy của một Docker Container khi bạn đóng gói backup, vì có thể Docker Image mới sẽ rất nặng đấy.

1. Backup docker container

Bạn hãy list docker container đang chạy và lấy thông tin Container ID cần backup.

# docker commit -p 2f1398b162bb cuongquach-backup01
sha256:619608221975315698015e5ee1a49c0957acfae8dd6e7e1aa13ec05a66500bc6

Giờ bạn đã có một docker image mới với tên ‘REPOSITORY‘ là tên bạn dùng để backup. Ví dụ : cuongquach-backup01

# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
cuongquach-backup01 latest 619608221975 16 seconds ago 502MB

Kế đến bạn sẽ có hướng backup cái docker image vừa commit xong.

+ Cách 1

Bạn push docker image đó lên một Container Registry.

# docker tag cuongquach-backup01 localhost:5000/cuongquach-backup01:v2
# docker push localhost:5000/cuongquach-backup01:v2

+ Cách 2

Bạn cũng có thể lưu docker image thành file tar và đem đi backup ở bất kì host storage lưu trữ như S3, NFS, SAN, …

# docker save -o cuongquach-backup01.tar cuongquach-backup01
# ls -la | grep cuongquach-backup01

2. Restore docker container

Bây giờ bạn muốn khôi phục lại Docker Container app mà bạn đã backup thì cũng có 2 cách nhưng cùng 1 mục đích đó là đem Docker Image với ImageID Hash đã backup lên Docker local hoặc remote.

+ Cách 1

# docker pull localhost:5000/cuongquach-backup01:v2

+ Cách 2

Giờ giả sử bạn đang ở trên một máy chủ mới . Ok giờ từ file .tar container image backup, ta khôi phục lại Docker Image đó lên Docker localhost.

# docker load -i cuongquach-backup01.tar
Loaded image: cuongquach-backup01:latest

Kế đến bạn chỉ cần chạy Docker Container mới từ Docker Image vừa khôi phục với lệnh docker run hoặc docker compose quen thuộc, cũng có thể tái sử dụng image đó cho các service trên K8S/ECS/GKE,… .

Nguồn: https://cuongquach.com/

Previous articleCyber Attack là gì? Làm sao để hạn chế tấn công mạng ?
Next articleCấu hình ConfigMap trong Kubernetes
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !