Podman 6 mang lại những cải tiến vượt trội về khả năng sử dụng Machine

Phần mềm07 tháng 6, 2026·3 phút đọc

Phiên bản Podman 6 sắp tới sẽ giải quyết các hạn chế trong việc quản lý máy ảo đa nền tảng, cho phép người dùng thao tác liền mạch với các nhà cung cấp (providers) khác nhau. Các lệnh CLI giờ đây có thể tự động nhận diện và quản lý mọi máy ảo bất kể nguồn gốc của chúng, đồng thời bổ sung tùy chọn linh hoạt khi tạo máy mới.

Podman 6 mang lại những cải tiến vượt trội về khả năng sử dụng Machine

Podman 6 mang lại những cải tiến vượt trội về khả năng sử dụng Machine

Đội ngũ phát triển Podman vừa công bố những thay đổi quan trọng trong phiên bản Podman 6, tập trung vào việc nâng cao trải nghiệm người dùng đối với tính năng Machine. Để hiểu rõ về sự cải tiến này, chúng ta cần nhìn lại cách thức vận hành của Podman machine dựa trên khái niệm "nhà cung cấp" (providers).

Provider là thuật ngữ chung mô tả cách thức Podman chạy máy ảo Linux trên các nền tảng khác nhau. Ví dụ, Windows hỗ trợ WSL và HyperV, trong khi macOS hỗ trợ Libkrun và Applehv. Trước đây, việc quản lý các máy ảo này đôi khi gặp khó khăn khi người dùng chuyển đổi giữa các công cụ khác nhau.

Những hạn chế trong Podman 5

Trong Podman 5, đặc biệt là khi sử dụng kết hợp Podman Desktop trên các nền tảng hỗ trợ nhiều provider, người dùng có thể tạo máy ảo với một provider không phải là mặc định. Tuy nhiên, nếu sau đó bạn sử dụng Podman CLI (giao diện dòng lệnh), CLI sẽ không nhận diện được sự tồn tại của máy ảo đó.

Lý do là vì Podman 5 chỉ "thấy" các máy ảo nằm trong phạm vi của provider mặc định (được mã hóa cứng trong binary hoặc cấu hình trong containers.conf). Ví dụ, nếu bạn cố gắng dừng một máy ảo được tạo bởi Applehv (trên macOS) trong khi Libkrun là mặc định, bạn sẽ gặp lỗi thông báo rằng máy ảo không tồn tại.

Để xem tất cả máy ảo, người dùng buộc phải sử dụng cờ --all-providers với lệnh podman machine ls, nhưng vẫn không thể thao tác (start, stop, rm) trên chúng một cách trực tiếp.

Sự thay đổi đột phá trong Podman 6

Với Podman 6, đội ngũ phát triển đã nỗ lực làm giảm sự phụ thuộc vào khái niệm provider trong các thao tác hàng ngày. Giờ đây, với các lệnh như rm, stop, start và nhiều lệnh khác, người dùng chỉ cần cung cấp tên máy ảo. Podman sẽ tự động nhận diện và thực hiện lệnh bất kể máy ảo đó thuộc provider nào.

Ví dụ, lệnh dừng máy ảo trước đây gây lỗi giờ đây đã hoạt động trơn tru:

$ podman machine stop applehv-machine-1
Machine "applehv-machine-1" stopped successfully

Ngoài ra, cờ --all-providers đã được loại bỏ khỏi lệnh machine ls. Thay vào đó, hành vi mặc định hiện tại là hiển thị tất cả các máy ảo từ mọi provider được hỗ trợ, giúp người dùng có cái nhìn tổng quan ngay lập tức mà không cần tham số bổ sung.

Tạo máy ảo linh hoạt hơn

Bước tiến thứ hai nằm ở khả năng tạo máy ảo thông qua lệnh podman machine init. Người dùng giờ đây có thể sử dụng cờ dòng lệnh mới là --provider để tạo máy ảo với một provider cụ thể mà không cần thay đổi cấu hình mặc định.

Ví dụ, nếu Libkrun là mặc định nhưng bạn muốn tạo một máy mới sử dụng Applehv, lệnh thực hiện sẽ như sau:

$ podman machine init --now --provider applehv applehv-machine-2

Điều này mang lại sự linh hoạt lớn cho các nhà phát triển cần kiểm thử môi trường trên các nền tảng ảo hóa khác nhau một cách nhanh chóng.

Những thay đổi này đang được phát triển trên nhánh chính của dự án và dự kiến sẽ mang lại trải nghiệm mượt mà hơn cho cộng đồng người dùng Podman trong thời gian tới.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗