Như trên, container là một phiên bản chạy của image, trước tiên
Kiểm tra có các container nào đang chạy:
root@docker:~#
docker ps
Liệt kê tất cả các container:
root@docker:~#
docker container ls --all
Các container bạn đã tạo, liệt kê ra hãy chú ý mấy thứ
- CONTAINER ID một con số (mã hash) gán cho container, bạn dùng mã này để quản lý container này, như xóa bỏ, khởi động, dừng lại ...
- IMAGE cho biết container sinh ra từ image nào.
- COMMAND cho biết lệnh, ứng dụng chạy khi container chạy (/bin/bash là terminate)
- STATUS cho biết trạng thái, (exit - đang dừng)
Để tạo và chạy một container theo cú pháp:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
ex : root@docker:~# docker run -it ubuntu
Các tham số đó là:
- [OPTIONS] các thiết lập khi tạo container, có rất nhiều thiết lập tùy mục đích tạo container, sẽ tìm hiểu các thiết lập qua từng trường hợp cụ thể.
- IMAGE tên image hoặc ID của image từ nó sinh ra container.
- [COMMAND] [ARG...] lệnh và tham số khi container chạy.
Trở lại phần trên, đang có image hệ điều hành Ubuntu, giờ muốn chạy nó (tạo một container từ nó), hãy gõ lệnh sau:
docker run -it ubuntu
Bạn chú ý có tham số
-it để khi container chạy, bạn có terminate làm việc ngay với Ubuntu. Tham số này có nghĩa là
- -t nó có nghĩa là console, cho phép kết nối với terminal để tương tác
- -i có nghĩa duy trì mở stdin để nhập lệnh.
Sau lệnh này, bạn đang chạy Ubuntu, bạn có thể gõ vài lệnh Ubuntu kiểm tra xem.
Ví dụ kiểm tra phiên bản Ubuntu, xem hình dưới với lệnh
cat /ect/os-release. Như vậy bạn đã tạo một container
Bạn đang ở terminal của Ubuntu, có thể kết thúc bằng lệnh
exit,
Hoặc nhấn tổ hợp phím
CTRL+P+Q để thoat termial nhưng container vẫn đang chạy.
Một vài tham số khác:
Tạo và chạy container, container tự xóa khi kết thúc thì thêm vào tham số
--rm
docker run -it --rm ubuntu
Tạo và chạy container - khi container chạy thi hành ngay một lệnh nào đó, ví dụ ls -la
docker run -it --rm ubuntu ls -la
Tạo và chạy container - ánh xạ một thự mục máy host vào một thư mục container, chia sẻ dữ liệu
docker run -it --rm -v path-in-host:path-in-container ubuntu
docker run -it --rm -v /mnt/data:/mnt/data ubuntu
Vào container đang đang chạy
Kiểm tra xem bằng lệnh docker ps, nếu có một container với ID là containerid đang chạy, để quay quay trở lại terminal của nó dùng lệnh:
docker container attach containerid
Chạy một container đang dừng
docker container start -i containerid
Nếu cần xóa bỏ hẳn một container thì dùng lệnh
docker container rm containerid
Chạy một lệnh trên container khi ở ngoài host
Chúng ta có thể sử dụng Container Name thay cho container ID
docker run -it --name "Ubuntu-v1" -h UbuntuV1 ubuntu:latest
Hình dưới là các thao tác với Container Name để dễ nhớ và quản lý các Container
Thực hiện thao tác lệnh trên docker khi ở ngoài host
root@docker:~# docker exec Ubuntu-v1 touch /testfolder
root@docker:~# docker exec Ubuntu-v1 ls
Tạo và khởi chạy 1 container với share thư mục giữa Host và Container
Tạo một docker với name của Container là
Ubuntu-V1 và hostname cho nó là
UbuntuV1 với image là
ubuntu và
tag là
latest và chia sẽ thư mục
/ssl và mount nó vào
/mnt/ ví dụ trong thư mục ssl có file abc thì khi mount vào trong contaitner thì có file abc trong thư mục mnt ( các file nằm trong ssl sẽ nằm trong mnt chứ ko phải ssl nằm trong mnt)
root@docker:~# docker run -it -v /ssl/:/mnt/ --name "Ubuntu-v1" -h UbuntuV1 ubuntu:latest