Cách sử dụng Docker Container

Trong bài viết lần trước, Quản Trị Mạng đã chỉ cho bạn đọc cách cài đặt Docker. Trong hướng dẫn này, chúng ta sẽ khám phá các lệnh Docker được sử dụng nhiều nhất.

Cách tìm hiểu thêm về các lệnh Docker

Mở một terminal và nhập:

docker

Lệnh Docker

Điều này cung cấp cái nhìn tổng quan nhanh về những đối số được chấp nhận bởi lệnh docker và những gì chúng thực hiện. Cuộn lên để xem tất cả. Bạn có thể quan sát thấy rằng cp docker sẽ sao chép các file/thư mục giữa một container và hệ thống file cục bộ. Nhưng điều đó chưa đầy đủ. Nếu muốn tìm hiểu thêm về một lệnh phụ cụ thể, chỉ cần thêm --help ở cuối. Ví dụ:

docker cp --help

Cách tìm và kéo một image Docker

Lúc đầu, các image có thể bị nhầm lẫn với chính container. Image là cơ sở mà từ đó một container bắt đầu. Sau đó, nó có thể được thay đổi (container) theo bất kỳ cách nào cần thiết. Vì vậy, có thể có một image như là “httpd” và hai container “website1”“website2”.

Để tìm kiếm một image, bạn có thể sử dụng lệnh như sau:

docker search apache

Ví dụ lệnh tìm kiếm image

Bạn cũng có thể tìm kiếm trên Docker Hub nếu thích sử dụng trình duyệt web của mình.

Để sao chép image mong muốn:

docker pull httpd

Hãy thay thế “httpd” bằng tên của image mình cần.

Làm thế nào để chạy và dừng một Docker Container?

Để tạo một container từ image này và chạy nó, hãy nhập:

docker run -d --name=http-server --publish 80:80 httpd
  • -d chạy container trong chế độ nền, tách ra khỏi đầu ra của nó.
  • --name chỉ định cách bạn muốn đặt tên cho container của mình.
  • --publish hostPort:containerPort xuất cổng trong container tới hệ thống máy chủ của bạn. Apache phục vụ các yêu cầu trên cổng 80 nhưng chỉ bên trong container (bị cô lập). Với tham số lệnh được sử dụng ở trên, các yêu cầu tới cổng 80 trên hệ thống máy chủ sẽ được chuyển đến cổng 80 trong container, về cơ bản cung cấp cho bạn đường dẫn để tiếp cận bên trong container. Điều này có nghĩa khi mở một trình duyệt trên hệ thống máy chủ và nhập “localhost” vào thanh địa chỉ, bạn sẽ kết nối với máy chủ web chạy trong container của mình.

Chạy và dừng Dock Container

Để xem những container nào hiện đang chạy, hãy nhập:

docker ps

Để xem các container hiện đang không hoạt động, hãy nhập:

docker ps -a

Để tắt container, hãy nhập:

docker stop name-of-container

Ví dụ:

docker stop http-server

Khi muốn khởi động lại container:

docker start http-server

Và nếu muốn tạo một container khác từ image Apache:

docker run -d --name=http-server2 --publish 8080:80 httpd

Lưu ý rằng lần này cổng 8080 đã được sử dụng thay vì 80. Điều đó khiến cho nó không xung đột với container khác. Để truy cập container này, hãy nhập localhost:8080 trong trình duyệt web.

Cách tùy chỉnh Docker Container

Thông thường, bạn sẽ cần phải sao chép các file vào container của mình. Để sao chép từ hệ thống máy chủ sang container, cú pháp của lệnh là:

docker cp /path/to/local/file/or/directory name-of-container:/path/to/container/directory/or/file

Ví dụ:

docker cp /bin/ls http-server:/tmp

Để sao chép từ container sang máy chủ, hãy sử dụng:

docker cp name-of-container:/path/to/container/file/or/directory /path/to/local/file/or/directory.
docker cp http-server:/etc /tmp

Đôi khi, bạn cần phải “bước vào” các container bằng cách mở một shell bên trong chúng. Nhờ đó có thể chỉnh sửa file, cài đặt các nhị phân bổ sung và tùy chỉnh chúng theo nhu cầu.

docker exec -it http-server /bin/bash

Tùy chỉnh

Bây giờ, bạn có thể chỉnh sửa “index.html” và tạo một trang chủ cho trang web trong đó chẳng hạn.

Để thoát khỏi shell trong container:

exit 

Làm thế nào để xóa Docker Container và image?

Trước khi xóa một container, trước tiên phải dừng nó lại:

docker stop http-server2

Bây giờ, có thể loại bỏ container bằng lệnh:

docker rm http-server2

Nhưng nó thực sự là những image chiếm nhiều không gian ổ đĩa hơn bình thường. Bạn có thể xóa chúng bằng:

docker rmi httpd

Lệnh xóa image trên docker

Container sẽ tiếp tục hoạt động cho đến khi bạn dừng nó và loại bỏ tất cả các container phụ thuộc vào image đó.

Docker đã phát triển thành một dự án khá phức tạp. Nhưng bạn có thể từ từ “đào sâu” vào mọi lệnh bằng cách tham khảo các trang hướng dẫn. Ví dụ, man docker run sẽ hiển thị mọi thứ về các tham số lệnh chạy docker, như cách đặt địa chỉ IP ưa thích cho mỗi container hoặc cách giới hạn việc sử dụng bộ nhớ. Dần dần bạn có thể thành thạo từng lệnh Docker nếu kiên nhẫn.

Chúc bạn thành công!

Xem thêm:

Chủ Nhật, 10/02/2019 13:53
3,73 👨 4.963
0 Bình luận
Sắp xếp theo
    ❖ Linux