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 attachdocker 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