Skip to content
An`s Weblog
Go back

Executing Container Commands

Khi tạo image, bạn có thể định nghĩa sẵn lệnh sẽ được chạy khi container khởi động.

CMD ["nginx", "-g", "daemon off;"]

Lệnh này sẽ tự động chạy mỗi khi container từ image đó được start.

2. Dùng docker run để ghi đè lệnh CMD

Có thể chỉ định lệnh cụ thể khi chạy container:

docker run -it nginx /bin/bash

Dùng -it để vào terminal container (interactive + tty)

Nếu dùng -d (chạy nền) + lệnh không phải tiến trình nền → container sẽ dừng ngay.

3. Dùng docker exec để chạy lệnh trên container đang chạy

Cú pháp:

docker exec -it <container_id_or_name> <command>
docker exec -it web1 ls /usr/share/nginx/html
docker exec -it web1 /bin/bash
docker exec -it web1 apt-get update

Yêu cầu container đang chạy — nếu process chính kết thúc → container sẽ tắt.

4. Một số chi tiết quan trọng

Điều cần nhớGhi chú
CMD trong DockerfileLệnh mặc định khi container khởi động
docker run -it <image> <cmd>Ghi đè CMD trong Dockerfile
docker exec -it <container> <cmd>Thực thi lệnh trong container đang chạy
/bin/bashMở shell trong container (nếu có)
-it flagGiao diện terminal tương tác
Container sẽ dừng nếu không còn tiến trình nàoVD: thoát khỏi bash thì container tắt luôn nếu đó là tiến trình chính

💡 Ví dụ minh họa

Tạo container với bash:

docker run -it nginx /bin/bash
## Đang ở trong container
nginx -g "daemon off;"

Kiểm tra bằng cách curl từ máy host:

docker inspect <container_id>  # Lấy IP riêng
curl <private_ip>              # Gửi request đến nginx

Sau khi thoát nginx → container sẽ dừng lại:

exit
docker ps                     # Container không còn chạy

Sử dụng exec với container đang chạy:

docker exec -it <container> /bin/bash

Note:


Share this post:

Previous Post
Docker Logging
Next Post
Exposing Container Ports