NGUYEN XUAN CUONG

https://nxcuong.ued.vn

Bài 3 - Tạo và chạy container

Hướng dẫn tạo và chạy container từ image đã tải vể
Bài 3 - Tạo và chạy container
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à ubuntutaglatest 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

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây