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
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 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
- 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 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
- 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
- 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: