Docker cơ bản

Docker cơ bản

Tổng quan

Docker là nền tảng phần mềm cho phép bạn dựng, kiểm thử và triển khai ứng dụng một cách nhanh chóng. Docker đóng gói phần mềm vào các đơn vị tiêu chuẩn hóa được gọi là container có mọi thứ mà phần mềm cần để chạy, trong đó có thư viện, công cụ hệ thống, mã và thời gian chạy. Bằng cách sử dụng Docker, bạn có thể nhanh chóng triển khai và thay đổi quy mô ứng dụng vào bất kỳ môi trường nào và biết chắc rằng mã của bạn sẽ chạy được. Việc chạy Docker trên AWS đem đến cho các nhà phát triển và quản trị viên một phương thức dựng, vận chuyển và chạy ứng dụng phân phối ở quy mô bất kỳ có chi phí thấp và độ tin cậy cao.

Docker hợp tác với AWS để hỗ trợ các nhà phát triển nhanh chóng đưa ứng dụng hiện đại lên đám mây. Sự hợp tác này giúp nhà phát triển sử dụng Docker Compose và Docker Desktop để tận dụng cùng một quy trình làm việc cục bộ mà họ sử dụng ngày nay để triển khai các ứng dụng trên Amazon ECS và AWS Fargate một cách liền mạch.

Cách thức hoạt động của Docker

Docker hoạt động bằng cách cung cấp phương thức tiêu chuẩn để chạy mã của bạn. Docker là hệ điều hành dành cho container. Cũng tương tự như cách máy ảo ảo hóa (loại bỏ nhu cầu quản lý trực tiếp) phần cứng máy chủ, các container sẽ ảo hóa hệ điều hành của máy chủ. Docker được cài đặt trên từng máy chủ và cung cấp các lệnh đơn giản mà bạn có thể sử dụng để dựng, khởi động hoặc dừng container.

Các dịch vụ AWS như AWS Fargate, Amazon ECS, Amazon EKS và AWS Batch giúp bạn dễ dàng chạy các container Docker ở quy mô lớn.

Docker basic

Trong bài lab, chúng ta thực hiện các lệnh cơ bản Docker với AWS Cloud9

  1. Kiểm tra client và server đang hoạt động bằng lệnh:
docker --version

Docker basic

  1. Docker container được xây dựng từ image.
  • Lệnh pull
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  • Trước hết, chúng ta sử dụng lệnh docker pull nginx:latest để kéo nginx image mới nhất từ Docker Hub.
docker pull nginx\:latest

Docker basic

  1. Để kiểm tra kéo image về thành công(image sẽ nằm trong local machine Docker cache).
  • Usage
docker images [OPTIONS] [REPOSITORY[:TAG]]
  • Mục đích liệt kê danh sách các image.
docker images

Docker basic

  1. Docker Daemon đóng vai trò server, nhận các RESTful requests từ Docker Client và thực thi.
  • Chúng ta sử dụng lệnh docker run -d -p 8080:80 –name nginx nginx:latest.
docker run -d -p 8080:80 --name nginx nginx\:latest
  • -d: Chạy container ở chế độ ngầm

  • Đặt tên cho container là nginx

  • -p 8080:80: Expose cổng 80 của container ra cổng 8080 của máy host

  • nginx:latest: Container được khởi chạy từ image là nginx:latest

  • Lệnh tham khảo để chạy một container:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Docker basic

  1. Kiểm tra các container nginx đang chạy bằng lệnh:
docker ps
  • Để thực hiện liệt kê các container ta thực hiện lệnh:
docker ps [OPTIONS]

Docker basic

  1. Sử dụng lệnh curl http://localhost:8080 để sử dụng nginx container và xác thực nó đang hoạt động với index.html
curl http://localhost:8080
  • Tham khảo lệnh curl cơ bản:
curl [options/URLs]

Ngoài ra bạn có thể đọc thêm về CURL

Docker basic

  1. Để xem nhật ký của nginx và container.
  • Chúng ta sử dụng lệnh docker logs nginx. Xuất hiện sự kiện curl request
docker logs nginx
  • Tham khảo lệnh tìm nạp nhật ký của container:
 docker logs [OPTIONS] CONTAINER

Docker basic

  1. Tiếp đến, thực hiện lệnh docker exec -it nginx /bin/bash để tương tác với container filesystem và constraints
docker exec -it nginx /bin/bash
  • Tham khảo lệnh tương tác trong container đang chạy:
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Docker basic

  1. Chúng ta thực hiện xem nội dung của nginx bằng lệnh:
cd /usr/share/nginx/html
cat index.html

Docker basic

  1. Sử dụng exit để thoát khỏi

Docker basic

  1. Để dừng chạy container chúng ta thực hiện lệnh
docker stop nginx
  • Tham khảo lệnh dừng một hoặc nhiều container:
docker stop [OPTIONS] CONTAINER [CONTAINER...]

Docker basic

  1. Sử dụng docker ps -a để xem container (container đã dừng) để khởi động lại sử dụng lệnh: docker start nginx
docker ps -a

Docker basic

  1. Thực hiện xóa container (đầu vào là container ID hoặc container name)
docker rm nginx
  • Tham khảo lệnh xóa một hoặc nhiều container:
docker rm [OPTIONS] CONTAINER [CONTAINER...]

Docker basic

  1. Thực hiện xóa nginx image bằng lệnh (định dạng image được xóa có thể là name:tag hoặc IMAGE ID)
docker rmi nginx\:latest
  • Tham khảo lệnh xóa một hoặc nhiều image:
 docker rmi [OPTIONS] IMAGE [IMAGE...]

Docker basic