Cách lệnh cơ bản trong Docker – Bài 2

Tổng hợp các lệnh cơ bản trong docker thường được sử dụng.

Xem thêm:

Docker là gì? Tại sao lại sử dụng docker – Bài 1

Cách xoá Container, Image, Volume, Network trong Docker – Bài 3

Attach và Detach trong Docker – Chạy container foreground hay background? – Bài 4

1. Làm sao để tìm lệnh trong Docker?

Trong quá trình làm việc, sẽ có lúc bạn không nhớ chính xác cú pháp của một lệnh Docker nào đó. Lệnh này sẽ hiển thị tất cả các lệnh có sẵn trong Docker kèm theo mô tả ngắn gọn.

docker --help

Nếu bạn muốn xem hướng dẫn chi tiết hơn cho một lệnh cụ thể, ví dụ docker run:

docker run --help

2. Docker Hub là gì?

Docker Hub giống như một cái “chợ” chứa hàng triệu Docker image đã được cộng đồng và các nhà phát triển chia sẻ. Sau khi cài Docker, bạn có thể tìm kiếm và tải bất kỳ image nào từ đây.

Ví dụ: bạn cần một hệ điều hành nhẹ tên là Alpine? Rất đơn giản:

  1. Truy cập: https://hub.docker.com
  2. Tìm với từ khoá alpine
  3. Làm theo hướng dẫn để tải:
docker pull alpine

3. Làm sao để chọn đúng phiên bản image?

Image trong Docker thường có nhiều phiên bản, được đánh dấu bằng tag. Nếu bạn không chỉ định tag, Docker sẽ mặc định tải phiên bản mới nhất (latest).

Ví dụ bạn muốn tải Python phiên bản 3.7:

docker pull python:3.7

4. Xem danh sách các image đã tải về

Bạn có thể kiểm tra các image đang có trong máy bằng một trong hai lệnh sau:

docker images

hoặc:

docker image ls

5. Xoá image không cần dùng

Khi bạn không cần một image nào đó nữa, hãy xoá nó:

docker rmi <tên_image>

Nếu image đó đang được một container sử dụng, bạn cần ép xoá:

docker rmi -f <tên_image>

Hoặc:

docker image rm -f <tên_image>

6. Xem lịch sử build của image

Docker lưu lại thông tin về cách một image được xây dựng (build), từng lớp (layer) cụ thể. Để xem lịch sử:

docker history <tên_image>

7. Chạy và tạo container với docker run

Đây là lệnh cơ bản nhất:

docker run <tên_image>

Lệnh này sẽ tự động tải image nếu chưa có, và sau đó khởi tạo một container từ image đó. Ví dụ:

docker run php:apache

8. Chạy container ở chế độ nền (detached)

Nếu bạn muốn container chạy nền (không chiếm màn hình terminal):

docker run -d php:apache

Để kiểm tra container đang chạy:

docker ps

Nếu muốn xem cả những container đã dừng:

docker ps -a

9. Container tự dừng nếu không có tiến trình

Một điều quan trọng cần nhớ: nếu trong container không có tiến trình nào đang chạy, container sẽ tự dừng.

Ví dụ:

docker run alpine

Container sẽ thoát ngay vì không có gì để làm. Để giữ container sống tạm thời:

docker run alpine sleep 120

10. Gán tên cho container để dễ quản lý

Docker sẽ tự đặt tên ngẫu nhiên cho container nếu bạn không chỉ định. Nhưng tốt hơn hết, bạn nên tự gán tên:

docker run -d --name web01 php:apache

Việc đặt tên giúp bạn dễ dàng kết nối với container khác hoặc quản lý sau này.

11. Xoá container

Nếu container đã dừng:

docker rm <tên_container>

Nếu container vẫn đang chạy:

docker rm -f <tên_container>

Ví dụ:

docker rm -f web01

12. Tổng hợp các lệnh thường dùng

Mục đích Lệnh ví dụ
Kiểm tra phiên bản Docker docker version
Tìm image trên Docker Hub docker search node
Tải image từ Docker Hub docker pull nginx:latest
Xem danh sách image docker image ls
Chạy container docker run <image>
Chạy container dưới nền docker run -d <image>
Gán tên container docker run -d --name <tên> <image>
Kiểm tra container đang chạy docker ps
Kiểm tra tất cả container docker ps -a
Dừng container docker stop <tên hoặc ID>
Bật lại container docker start <tên hoặc ID>
Truy cập container đang chạy docker exec -it <tên> <lệnh>
Ví dụ truy cập vào terminal docker exec -it nginx sh
Gán tag cho image mới docker tag <image_id> tên_mới:tag_mới

Hy vọng qua bài viết này, bạn đã nắm được những thao tác cơ bản để sử dụng Docker.

Bài viết cùng chủ đề:

Cách truy cập container trong Docker để kiểm tra và xử lý sự cố – Bài 5

Docker Registry và Docker Repo – Bài 6

 

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em