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

Command Mô 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 ps Liệt kê các container đang chạy
docker ps --all Liệ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

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

Lệnh Image

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

Lệnh Registry

Command Mô 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

Command Mô tả
docker system df Hiển thị mức sử dụng đĩa của Docker
docker system prune Xóa dữ liệu không sử dụng
docker system prune -a Xóa toàn bộ dữ liệu không sử dụng

Lệnh Docker Compose

Command Mô tả
docker compose up Tạo và khởi động các container
docker compose up -d Tạo và khởi động các container ở chế độ nền
docker compose up --build Xây dựng image và khởi động các container
docker compose stop Dừng các container
docker compose down Dừng và xóa các container
docker compose ps Liệt kê các container
docker compose logs Xem 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 -f Theo dõi nhật ký cho tất cả các dịch vụ
docker compose pull Tải image của các dịch vụ
docker compose build Xây dựng image của các dịch vụ
docker compose build --pull Xâ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

Instruction Mô 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

Key Mô tả
name Đặt tên cho dự án
services Danh 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].build Bối cảnh và tùy chọn xây dựng
services.[name].build.context Bối cảnh xây dựng (mặc định là thư mục hiện tại)
services.[name].build.dockerfile Dockerfile để sử dụng (mặc định là Dockerfile)
services.[name].build.target Giai đoạn xây dựng để sử dụng
services.[name].build.args Các đối số xây dựng
services.[name].command Ghi đè lệnh mặc định cho container
services.[name].entrypoint Ghi đè điểm vào mặc định cho container
services.[name].volumes Gắn các volume vào container
services.[name].ports Cô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].restart Chí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].networks Danh sách các mạng để kết nối container
services.[name].depends_on Danh 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
networks Danh 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].external Không tạo mạng, sử dụng mạng hiện có
volumes Danh 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
configs Danh sách các cấu hình được định nghĩa trong tệp
secrets Danh 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


Tải xuống cheat sheet

Docker Cheat Sheet
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận