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