Khám Phá Động Cơ Container Podman - F88 Casino Download Game Bài

07/09/2021 Máy Tính

Hình Ảnh

Podman, viết tắt của Pod Manager, là một động cơ container không có dịch vụ chạy nền, dùng để phát triển, quản lý và vận hành các container OCI trên hệ thống Linux.

Podman tương thích với dòng lệnh Docker. Chỉ cần gõ một câu lệnh đơn giản alias docker=podman, bạn đã có thể sử dụng Podman một cách liền mạch như khi sử dụng Docker. Podman cung cấp một tập hợp API REST cho phép các ứng dụng từ xa khởi động container theo nhu cầu. Các API này cũng tương thích với Docker API, hỗ trợ Docker Compose tương tác với Podman.

Các container được quản lý bởi Podman có thể chạy dưới quyền root hoặc với người dùng không đặc quyền. Podman điều khiển toàn bộ hệ sinh thái container, bao gồm hình ảnh container, container, khối lượng container và Pods.

Dịch vụ Podman chỉ có thể hoạt động trên nền tảng Linux, nhưng client API REST của Podman có thể chạy trên MacOS và Windows. Client này giao tiếp với dịch vụ Podman đang chạy trên máy chủ Linux hoặc máy ảo thông qua SSH.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về việc cài đặt và sử dụng cơ bản Podman.

1 Cài Đặt Podman

1.1 MacOS Như đã biết, Podman là một công cụ chạy container trên Linux, nhưng trên MacOS, bạn có thể sử dụng client Podman để kết nối với máy ảo hoặc máy chủ Linux từ xa. Bạn có thể quản lý máy ảo bằng lệnh podman machine.

Để bắt đầu, hãy truy cập trang Releases của Podman và tải xuống phiên bản mới nhất dành cho Darwin (podman-remote-release-darwin.zip). Giải nén tệp tin này và di chuyển file thực thi podman vào thư mục /user/local/bin/, sau đó bạn có thể sử dụng lệnh này từ bất kỳ đâu.

Khởi động máy ảo:

1$ podman machine init
2$ podman machine start

Kiểm tra phiên bản:

1$ podman version

1.2 Linux Nếu bạn sử dụng CentOS, có thể cài đặt trực tiếp bằng yum:

1$ sudo yum -y install podman

Với các phiên bản khác, vui lòng tham khảo tài liệu chính thức để cài đặt.

2 Sử Dụng Podman Cơ Bản

2.1 Xem Trợ Giúp Sử Dụng Xem tài liệu trợ giúp:

1$ podman --help
2$ podman <subcommand> --help # Xem trợ giúp cho lệnh con [tipbongda](/post/31.html) 

2.2 Tìm Kiếm, Kéo Và Đẩy Hình Ảnh

Tìm kiếm hình ảnh nginx:

1$ podman search nginx # Tìm kiếm hình ảnh nginx
2$ podman search nginx --filter=is-official # Tìm kiếm hình ảnh nginx chính thức

Kéo hình ảnh:

1$ podman pull docker.io/library/nginx # Kéo hình ảnh nginx
2Trying to pull docker.io/library/nginx:latest...
3...

Đánh tag cho hình ảnh:

1$ podman tag docker.io/library/nginx:latest docker.io/olzhy/nginx:v1.0 
2$ podman images # Xem danh sách hình ảnh cục bộ
3REPOSITORY           TAG     IMAGE ID   CREATED   SIZE
4docker.io/library/nginx    latest   87a94228f133 2 tuần trước 138 MB
5docker.io/olzhy/nginx     v1.0    87a94228f133 2 tuần trước 138 MB

Đăng nhập vào docker.io và đẩy hình ảnh lên kho cá nhân:

1$ podman login docker.io # Nhập tên đăng nhập và mật khẩu Docker Hub để đăng nhập vào docker.io
2$ podman push docker.io/olzhy/nginx:v1.0 # Đẩy hình ảnh nginx:v1.0 lên kho cá nhân

Xóa hình ảnh cục bộ:

1$ podman rmi docker.io/olzhy/nginx:v1.0

2.3 Chạy Một Container

Chạy một container nginx:

1$ podman run --name mynginx -d -p 8080:80 docker.io/library/nginx # Chỉ định tên, ánh xạ cổng, chạy nginx ở chế độ Detached

Xem các container đã tạo hoặc đang chạy:

1$ podman ps # Thêm -a để hiển thị cả các container đã dừng
2CONTAINER ID IMAGE              COMMAND        CREATED    STATUS      PORTS         NAMES
377b9c633c895 docker.io/library/nginx:latest nginx -g daemon o... 15 giờ trước Đang chạy 15 giờ trước 0.0.0.0:8080->80/tcp mynginx

Kiểm tra container bằng lệnh podman inspect:

1$ podman inspect mynginx | grep IPAddress

Truy cập nginx trên máy cục bộ:

1$ curl 

Xem nhật ký truy cập của container:

1$ podman logs mynginx
210.88.0.2 - - [28/Oct/2021:11:54:29 +0000] "GET / HTTP/1.1" 200 615 "-" "curl/7.64.1" "-"

Thực hiện một lệnh trong container:

1$ podman exec -it mynginx curl # Truy cập nginx từ bên trong container

Hoặc đi vào container để thực hiện các thao tác:

1$ podman exec -it mynginx bash # Vào container

Sao chép tệp từ trong container ra máy cục bộ:

1$ podman cp mynginx:/etc/nginx/nginx.conf ~/Downloads

Xem tiến trình và tỷ lệ sử dụng CPU trong container bằng lệnh podman top:

1$ podman top mynginx
2USER    PID     PPID    %CPU    ELAPSED     TTY     TIME    COMMAND
3root    1      0      0.000    8m38.589550934s ?      0s     nginx: master process nginx -g daemon off;
4nginx    26     1      0.000    8m37.590199848s ?      0s     nginx: worker process

Khởi động lại hoặc F88 Casino Download Game Bài dừng container:

1$ podman restart mynginx
2$ podman stop mynginx

Khi không còn sử dụng, có thể xóa container bằng lệnh podman rm:

1$ podman rm mynginx # Thêm --force để xóa container đang chạy

2.4 Xây Dựng Và Chạy Hình Ảnh Tùy Chỉnh

Giả sử chúng ta muốn thay đổi nội dung trang chủ của nginx, hãy tạo một tệp index.html tùy chỉnh:

1$ echo "<html><body>Đây là ứng dụng của tôi</body></html>" > index.html

Tạo một tệp Dockerfile với nội dung sau:

1FROM docker.io/library/nginx
2COPY index.html /usr/share/nginx/html/

Xây dựng một hình ảnh mới dựa trên Dockerfile này:

1$ podman build -t myapp -f ./Dockerfile .

Sau đó chạy nó:

1$ podman run --name myapp -d -p 8081:80 myapp

Truy cập bằng curl vào máy cục bộ để thấy nội dung trang chủ đã thay đổi:

1$ curl 
2<html><body>Đây là ứng dụng của tôi</body></html>

Như vậy, chúng ta đã có một cái nhìn sơ lược về Podman.

[1] Podman Là Gì? [2] Giới Thiệu Podman [3] Bắt Đầu Với Podman