Docker Cheat Sheet - Các lệnh thường gặp khi sử dụng Docker

Bear Technology

2020/07/08

Tổng hợp các câu lệnh kèm theo giải thích chi tiết sẽ giúp bạn dễ dàng tra cứu khi làm việc với Docker

Tại sao lại dùng Docker?

Việc phát triển ứng dụng ngày nay cần nhiều thứ hơn là chỉ cần ngồi xuống và code. Có quá nhiều ngôn ngữ, frameworks, kiến trúc... và giao diện không liên tục giữa các công cụ cho mỗi giai đoạn vòng đời tạo ra sự phức tạp rất lớn.

Docker đơn giản hóa và tăng tốc quy trình làm việc, đồng thời cho phép các nhà phát triển tự do đổi mới sự lựa chọn về các công cụ, ngôn ngữ hay môi trường phát triển cho từng dự án.

Với Docker, các lập trình viên có thể xây dựng ứng dụng bằng bất kỳ ngôn ngữ hay công cụ nào. Những ứng dụng được "Dockerized" có thể chạy ở bất kỳ môi trường nào OS X hay Windows, Ubuntu hay các trung tâm dữ liệu chạy Red Hat.

Các lập trình viên có thể bắt đầu xây dựng một cách nhanh chóng dựa trên hàng triệu ứng dụng có sẵn trên Docker Hub. Docker quản lý và theo dõi các thay đổi và phụ thuộc, giúp các sysadmins hiểu cách các ứng dụng mà nhà phát triển xây dựng hoạt động như thế nào. Và với Docker Hub, các nhà phát triển có thể tự động hóa quy trình xây dựng của họ và chia sẻ sản phẩm của mình với các thành viên thông qua các kho lưu trữ công khai hoặc riêng tư.

Docker giúp các nhà phát triển xây dựng và triển khai các ứng dụng chất lượng cao hơn, nhanh hơn.

Bạn có thể tìm kiểu thêm ở đây: https://www.docker.com/why-docker

Build

- Build image từ Dockerfile và đặt tag cho image

docker build -it myimage:1.0

- List danh sách các image được lưu trữ trên máy trong Docker Engine

docker image ls

- Xóa image từ Docker Engine

docker image rm ubuntu:16.04

Chia sẻ

- Kéo (pull) image từ registry về sử dụng

docker pull myimage:1.0

- Đặt lại tên & tag của image local

docker tag myimage:1.0 myrepo/myimage:1.1

- Đẩy (push) image từ local lên registry

docker push myrepo/myimage:1.1

Chạy

- Chạy một container từ image Alpine 3.9, đặt tên container là c-web và mở cổng 8000, map với cổng 80 trong container

docker container run --name "c-web" -p 8000:80 alpine:3.9

- Chạy 1 container từ image httpd, map ổ DISK1 với thư mục /home/disk1 trong container, đặt tên container là c-httpd, mở port 3135 và map với port 80 trong container, map file httpd.conf từ máy vào container

docker run -v DISK1:/home/disk1 --name c-httpd -h httpd -p 3135:80 -v D:\Working\Learn\docker\share-data\httpd.conf:/usr/local/apache2/conf/httpd.conf httpd

- Dừng 1 container đang chạy thông qua SIGTERM

docker container stop c-web

- Dừng 1 container đang chạy thông qua SIGKILL

docker container kill c-web

Để biết thêm về SIGTERM và SIGKILL thì bạn có thể đọc thêm ở đây.

- Danh sách các network

docker network ls

- Danh sách các container đang chạy

docker container ls

Hoặc ngắn gọn:

docker ps

- Danh sách tất cả các container

docker container ls -a

Hoặc

docker ps -a

Xem thêm sự khác biệt của lệnh docker ps và docker container ở đây

- Xóa tất cả các container (cả đang chạy và đang dừng)

docker container rm -f $(docker ps -aq)

- Hiển thị 100 dòng logs mới nhất của 1 container

docker container logs --tail 100 c-web

- Xem thông tin của 1 container

docker inspect c-web

- Xem thông tin về việc sử dụng tài nguyên (Disk - NET I/O, Mem, CPU) của 1 container

docker stats c-web

- Xem các process đang chạy trong container

docker top c-web

- Chạy command trong container

docker exec -it c-web /bin/bash

Images

- Danh sách các image

docker images

- Tạo image từ file .tar

docker import /path/to/image.tar

- Tạo image từ Dockerfile

docker build -f path/Dockerfile 

- Xóa 1 image

docker rmi f9320dkfjd

- Xem lịch sử thay đổi image

docker history f9

Volume

- Tạo volume, map với thư mục trên máy

docker volume create V1 --driver local --opt device=/dev/data

- Xóa volume

docker volume rm V1

- Danh sách volume

docker volume ls

- Xem thông tin volume

docker volume inspect V1

- Khởi chạy container và map volume V1 với thư mục /home/data trong container

docker run -v V1:/home/data ubuntu:18.04

Nguồn tham khảo:

  • https://www.docker.com/sites/default/files/d8/2019-09/docker-cheat-sheet.pdf
  • https://github.com/wsargent/docker-cheat-sheet

 

DMCA.com Protection Status Bản quyền bài viết thuộc về Bear Technology. Vui lòng tôn trọng bản quyền.

Bài viết khác