Quản lý và thao tác với container Docker

1. Khởi chạy container

Để khởi tạo một container từ image ubuntu và truy cập vào shell tương tác, sử dụng lệnh sau:

$ docker run -it ubuntu /bin/bash

Giải thích tham số:

  • -i: Giữ đầu vào (input) mở để tương tác.
  • -t: Cấp một terminal giả (pseudo-TTY).
  • ubuntu: Tên image gốc.
  • /bin/bash: Lệnh được thực thi bên trong container.

Để thoát khỏi shell, gõ exit:

root@ed09e4490c57:/# exit

Khởi động lại container đã dừng

Danh sách tất cả container (bao gồm cả đã dừng):

$ docker ps -a

Khởi động lại một container bằng ID hoặc tên:

$ docker start b750bbbcfd88

Chạy container ở chế độ nền

Để chạy container mà không gắn terminal, dùng cờ -d:

$ docker run -dit --name ubuntu-test ubuntu /bin/bash

Lưu ý: Khi dùng -d, bạn sẽ không tự động vào shell. Để truy cập, cần dùng docker exec.

Dừng và khởi động lại container

Dừng một container đang chạy:

$ docker stop <container_id>

Khởi động lại container đã dừng:

$ docker restart <container_id>

2. Truy cập vào container đang chạy

Khi container chạy ở chế độ nền (-d), có hai cách để truy cập:

  • docker attach
  • docker exec (khuyến nghị)

Sử dụng docker attach

$ docker attach 1e560fca3906

Cảnh báo: Việc thoát khỏi terminal khi dùng attach sẽ khiến container dừng lại.

Sử dụng docker exec

$ docker exec -it 243c32535da7 /bin/bash

Ưu điểm: Thoát khỏi shell không làm dừng container — lý do chính để ưu tiên dùng exec.

Xem thêm tùy chọn với docker exec --help.

3. Xuất/nhập và lưu trữ container

Xuất container thành file

Dùng docker export để lưu trạng thái container dưới dạng tarball:

$ docker export 1e560fca3906 > ubuntu.tar

Nhập lại từ file xuất

Chuyển file tar thành image mới bằng docker import:

$ cat ubuntu.tar | docker import - test/ubuntu:v1

Lưu container dưới dạng image

Tạo image từ container hiện tại:

$ docker commit 1e560fca3906 my-ubuntu:latest

Lưu image thành file để chia sẻ hoặc sao lưu:

$ docker save my-ubuntu:latest > my-ubuntu.tar

Có thể lưu nhiều image cùng lúc:

$ docker save -o multi-images.tar postgres:9.6 mongo:3.4

Nạp lại image từ file:

$ docker load < my-ubuntu.tar

Thẻ: docker container Image docker-cli

Đăng vào ngày 27 tháng 6 lúc 18:39