October 18, 2021
Docker logo

Làm thế nào chạy container tại thiết bị đầu cuối.

Trong trang web blog này tôi đã viết vài bài về Container, Docker chạy trên GCP, hôm nay tôi xin giới thiệu các bạn là làm thế nào để chạy Container tại bất kỳ thiết bị đầu cuối nào có thể ngắt kết nối và đính kèm lại kết nối Container. về nguyên tắt cơ bản là Container này phải tồn tại ở đâu đó trên môi trường GCP hay local nào đó mà bạn đang thao tác nhé bạn.

Trong bài này tôi giới thiệu các bạn về:

  • Chạy chế độ Ngắt kết nối  Container
  • Hiển thị Container
  • Xem log Container
  • Thực thi Container đang chạy
  • Đính kèm lại Container

Chạy ché độ Ngắt kết nối  Container:

Để chạy chết độ ngắt kết nối này chúng ta dùng  tùy chọn –detach hoặc -d, có nghĩa là một vùng chứa Docker chạy trong nền Container của thiết bị đầu cuối của bạn. Nó không nhận được đầu vào hoặc đầu ra hiển thị. Nếu bạn chạy lại Docker tại Container trong môi trường của bạn thì bạn gắn nó lại thiết bị đầu cuối của bạn vào đầu vào và đầu ra của nó.

Lệnh thực hiện bên dưới: lưu ý bạn nhớ tùy chọn -d hay –detach nhé, tại command line hoặc trên môi trường GCP bạn gõ lệnh tùy vào nguồn Docker của bạn nhé.

docker run -d IMAGE

Ở đây IMAGE là đường dẫn Docker Image mà bạn cần chạy trong Conainer của bạn

Hiển thị Container:

Sau khi chạy chế độ detached bạn có thể xem chúng chạy sử dụng CLI command docker ps và các thông số tùy chọn theo sau như sau:

  • docker ps hiển thị list Container đang chạy là chế độ xem default tương đương dùng thêm tùy chọn sau lệnh -a hay -all
  • dùng –quiet / -q để liệt kê id của chúng (hữu ích khi bạn muốn nhận tất cả các container).

Xem log Container:

Để xem lịch sử Container đang chạy chi tiết nhiều hơn bạn dùng lệnh docker logs như sau:

docker logs [OPTIONS] CONTAINER

Trong đó OPTIONS gồm:

–tail Trong khi mặc định là tất cả các dòng, bạn có thể chỉ định một số dòng cụ thể để hiển thị từ cuối nhật ký sau option này.
–follow hay -f Theo dõi đầu ra bản ghi, có nghĩa là nó sẽ in các bản ghi của thùng chứa đang chạy để chuẩn ra khi nó đang được sử dụng.

CONTAINER: là tên hay ID của Container đang chạy chưa docker trên môi trường lưu trữ ỡ đau bạn đang chạy trên GCP hay local

Thực thi Container đang chạy:

dùng lệnh docker exec là một lệnh CLI thường được sử dụng cho phép bạn chạy một lệnh trong một thùng chứa đang chạy với kèm theo 1 trong các options tùy chọn -i / -t . bạn sử dụng như sau:

docker exec -i -t container_name /bin/bash

Trong đó docker exec với cờ -i (tương tác) để giữ stdin open và -t để cấp phát một terminal.

Đính kèm lại Container:

Dùng lệnh:

docker attach [OPTIONS] CONTAINER

Trong đó OPTIONS:

–detach-keys: Ghi đè chuỗi khóa để tách vùng chứa

–no-stdin: Không đính kèm STDIN

–sig-proxy: Proxy tất cả các tín hiệu nhận được cho quá trình

CONTAINER có thể là tên hay ID của Container

Lệnh docker attach bên trên kết nối đầu vào, đầu ra và lỗi tiêu chuẩn của thiết bị đầu cuối của bạn với một vùng chứa đang chạy bằng cách chuyển cho nó tên hoặc ID Container đang chạy.

Ví dụ bên dưới để thấy bạn xem đầu ra liên tục của nó hoặc để kiểm soát nó tương tác, như thể các lệnh đang chạy trực tiếp trong thiết bị đầu cuối của bạn.

docker run -d --name topdemo ubuntu /usr/bin/top -b
docker attach topdemo

Pham Van Tuyen

Anh Tuyen Pham là Tổng giám đốc của Cloud Ace Việt Nam và là GDG Cloud HCM Chapter Lead. Anh là diễn giả quen thuộc tại các sự kiện do Google tổ chức tại Việt Nam như Kubernetes Vietnam, Google Cloud Next Extended. Anh đã có các chứng chỉ của Google Cloud như Google Cloud Architect và Data Engineer.

View all posts by Pham Van Tuyen →