Thứ Ba, 21 tháng 10, 2025

Docker Cheat Sheet

Cài đặt

Cài đặt Docker Engine (https://docs.docker.com/engine/install) (chỉ dành cho Linux) hoặc Docker Desktop (https://docs.docker.com/desktop) (Linux, macOS và Windows).

Lệnh Container

CommandMô tả
docker run [image]Tạo và chạy một container mới
docker run -p 8080:80 [image]Công khai cổng 80 của container ra cổng 8080 của máy chủ
docker run -d [image]Chạy một container ở chế độ nền
docker run -v [host]:[container] [image]Gắn một thư mục từ máy chủ vào container
docker psLiệt kê các container đang chạy
docker ps --allLiệt kê tất cả container (đang chạy hoặc đã dừng)
docker logs [container_name]Lấy nhật ký của một container
docker logs -f [container_name]Lấy và theo dõi nhật ký của một container
docker stop [container_name]Dừng một container đang chạy
docker start [container_name]Khởi động lại một container đã dừng
docker rm [container_name]Xóa một container

Thực thi lệnh trong Container

CommandMô tả
docker exec [container_name] [command]Thực thi một lệnh trong container đang chạy
docker exec -it [container_name] bashMở một shell trong container đang chạy

Lệnh Image

CommandMô tả
docker build -t [image] .Xây dựng một image từ Dockerfile
docker imagesLiệt kê tất cả các image
docker rmi [image]Xóa một image

Lệnh Registry

CommandMô tả
docker loginĐăng nhập vào một registry Docker
docker login [server]Đăng nhập vào một registry Docker cụ thể
docker logoutĐăng xuất khỏi một registry Docker
docker logout [server]Đăng xuất khỏi một registry Docker cụ thể
docker push [image]Đẩy một image lên registry
docker pull [image]Tải một image từ registry
docker search [image]Tìm kiếm một image trong registry

Lệnh Hệ thống

CommandMô tả
docker system dfHiển thị mức sử dụng đĩa của Docker
docker system pruneXóa dữ liệu không sử dụng
docker system prune -aXóa toàn bộ dữ liệu không sử dụng

Lệnh Docker Compose

CommandMô tả
docker compose upTạo và khởi động các container
docker compose up -dTạo và khởi động các container ở chế độ nền
docker compose up --buildXây dựng image và khởi động các container
docker compose stopDừng các container
docker compose downDừng và xóa các container
docker compose psLiệt kê các container
docker compose logsXem nhật ký cho tất cả các dịch vụ
docker compose logs [service]Xem nhật ký cho một dịch vụ cụ thể
docker compose logs -fTheo dõi nhật ký cho tất cả các dịch vụ
docker compose pullTải image của các dịch vụ
docker compose buildXây dựng image của các dịch vụ
docker compose build --pullXây dựng image của các dịch vụ với việc tải image cơ sở mới nhất

Hướng dẫn Dockerfile

InstructionMô tả
FROM [image]Đặt image cơ sở
FROM [image] AS [name]Đặt image cơ sở và đặt tên cho giai đoạn xây dựng
RUN [command]Thực thi một lệnh trong quá trình xây dựng
RUN ["exec", "param1", "param2"]Thực thi một lệnh trong quá trình xây dựng
CMD ["exec", "param1", "param2"]Thực thi một lệnh khi container khởi động
ENTRYPOINT ["exec", "param1"]Cấu hình container để chạy như một tệp thực thi
ENV [key]=[value]Đặt một biến môi trường
EXPOSE [port]Công khai một cổng
COPY [src] [dest]Sao chép tệp từ nguồn đến đích
COPY --from=[name] [src] [dest]Sao chép tệp từ một giai đoạn xây dựng đến đích
WORKDIR [path]Đặt thư mục làm việc
VOLUME [path]Tạo một điểm gắn kết
USER [user]Đặt người dùng
ARG [name]Định nghĩa một đối số xây dựng
ARG [name]=[default]Định nghĩa một đối số xây dựng với giá trị mặc định
LABEL [key]=[value]Đặt một nhãn siêu dữ liệu
HEALTHCHECK [command]Đặt một lệnh kiểm tra sức khỏe

Để xem tài liệu tham khảo đầy đủ về Dockerfile, truy cập: https://docs.docker.com/engine/reference/builder/.

Khóa Docker Compose

KeyMô tả
nameĐặt tên cho dự án
servicesDanh sách các dịch vụ được định nghĩa trong tệp
services.[name].imageĐặt image để sử dụng hoặc xây dựng
services.[name].buildBối cảnh và tùy chọn xây dựng
services.[name].build.contextBối cảnh xây dựng (mặc định là thư mục hiện tại)
services.[name].build.dockerfileDockerfile để sử dụng (mặc định là Dockerfile)
services.[name].build.targetGiai đoạn xây dựng để sử dụng
services.[name].build.argsCác đối số xây dựng
services.[name].commandGhi đè lệnh mặc định cho container
services.[name].entrypointGhi đè điểm vào mặc định cho container
services.[name].volumesGắn các volume vào container
services.[name].portsCông khai các cổng của container ra máy chủ
services.[name].environmentĐặt các biến môi trường trong container
services.[name].restartChính sách khởi động lại (no/always/on-failure/unless-stopped)
services.[name].scaleĐặt số lượng container để chạy
services.[name].networksDanh sách các mạng để kết nối container
services.[name].depends_onDanh sách các dịch vụ cần khởi động trước dịch vụ này
services.[name].labelsĐặt các nhãn siêu dữ liệu cho container
networksDanh sách các mạng được định nghĩa trong tệp
networks.[name].driverĐặt trình điều khiển mạng
networks.[name].externalKhông tạo mạng, sử dụng mạng hiện có
volumesDanh sách các volume được định nghĩa trong tệp
volumes.[name].nameĐặt tên cho volume
volumes.[name].driverĐặt trình điều khiển volume
configsDanh sách các cấu hình được định nghĩa trong tệp
secretsDanh sách các bí mật được định nghĩa trong tệp

Ví dụ compose.yaml

Ghi chú: Tệp này trước đây được gọi là docker-compose.yaml, nhưng hiện tại compose.yaml được ưu tiên hơn.

services:
  service1:
    image: [image]
    build:
      context: .
    volumes:
      - ./:/code:ro
    ports:
      - "8000:80"
    environment:
      KEY: value
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master