Cách cài đặt Docker và Docker Compose trên Debian 11

theanh

Administrator
Nhân viên
Docker là một nền tảng mã nguồn mở và miễn phí để phát triển, vận chuyển và chạy các ứng dụng trong môi trường chứa. Nó cho phép bạn tách ứng dụng của mình khỏi cơ sở hạ tầng. Điều này sẽ giúp việc xây dựng, triển khai và quản lý các container dễ dàng hơn, đơn giản hơn và an toàn hơn. Docker được thiết kế để thiết lập một môi trường phát triển cục bộ.

Nếu bạn muốn tạo nhiều hơn một container cho ứng dụng của mình, bạn nên sử dụng Docker compose. Docker-compose là một công cụ được sử dụng để xác định và chia sẻ các ứng dụng đa container. Với Docker compose, bạn có thể sử dụng tệp YAML để xác định tất cả các dịch vụ và chạy chúng cùng một lúc bằng lệnh đơn giản.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Docker và Docker compose trên hệ thống Debian 11.

Điều kiện tiên quyết​

  • Máy chủ chạy Debian 11.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Bắt đầu​

Trước tiên, bạn nên cập nhật bộ đệm gói hệ thống lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng lệnh sau:
Mã:
apt-get update -y
Sau khi hoàn tất, hãy cài đặt các dependency cần thiết khác bằng lệnh sau:
Mã:
apt-get install apt-transport-https software-properties-common ca-certificates curl gnupg lsb-release -y

Cài đặt Docker​

Theo mặc định, phiên bản Docker mới nhất không có trong kho lưu trữ chính thức của Debian 11. Vì vậy, bạn sẽ cần thêm kho lưu trữ Docker CE vào APT. Bạn có thể thêm kho lưu trữ này bằng lệnh sau:
Mã:
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Sau khi kho lưu trữ Docker được thêm vào, hãy cập nhật kho lưu trữ và cài đặt Docker CE bằng lệnh sau:
Mã:
apt-get update -y
apt-get install docker-ce docker-ce-cli -y
Sau khi cài đặt, hãy xác minh phiên bản Docker CE bằng lệnh sau:
Mã:
docker version
Bạn sẽ nhận được kết quả sau:
Mã:
Client: Docker Engine - Community Phiên bản: 20.10.8 Phiên bản API: 1.41 Phiên bản Go: go1.16.6 Git commit: 3967b7d Được xây dựng: Thứ sáu, ngày 30 tháng 7 năm 19:54:22 năm 2021 Hệ điều hành/Arch: linux/amd64 Bối cảnh: mặc định Thử nghiệm: đúngMáy chủ: Docker Engine - Community Engine: Phiên bản: 20.10.8 Phiên bản API: 1.41 (phiên bản tối thiểu 1.12) Phiên bản Go: go1.16.6 Git commit: 75249d8 Được xây dựng: Thứ sáu, ngày 30 tháng 7 năm 2021 lúc 19:52:31 Hệ điều hành/Kiến trúc: linux/amd64 Thử nghiệm: sai containerd: Phiên bản: 1.4.9 GitCommit: e25210fe30a0a703442421b0f60afac609f950a3 runc: Phiên bản: 1.0.1 GitCommit: v1.0.1-0-g4144b63 docker-init: Phiên bản: 0.19.0 GitCommit: de40ad0

Quản lý Dịch vụ Docker​

Bạn có thể quản lý dịch vụ Docker dễ dàng bằng cách sử dụng Tiện ích systemd.

Để khởi động dịch vụ Docker, hãy chạy lệnh sau:
Mã:
systemctl start docker
Để khởi động lại dịch vụ Docker, hãy chạy lệnh sau:
Mã:
systemctl restart docker
Để dừng dịch vụ Docker, hãy chạy lệnh sau:
Mã:
systemctl stop docker
Để cho phép dịch vụ Docker khởi động khi khởi động lại hệ thống, hãy chạy lệnh sau:
Mã:
systemctl enable docker
Để kiểm tra trạng thái Docker, hãy chạy lệnh sau:
Mã:
systemctl status docker
Bạn sẽ thấy trạng thái của Docker trong đầu ra sau:
Mã:
? docker.service - Docker Application Container Engine Đã tải: đã tải (/lib/systemd/system/docker.service; đã bật; cài đặt trước của nhà cung cấp: đã bật) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ sáu 2021-09-10 07:19:35 UTC; 27 giây trướcĐược kích hoạt bởi: ? docker.socket Tài liệu: https://docs.docker.com PID chính: 29018 (dockerd) Nhiệm vụ: 7 Bộ nhớ: 32,6M CPU: 407ms CGroup: /system.slice/docker.service ??29018 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock10 tháng 9 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809035575Z" level=info msg="scheme \"unix\" not registered, fallback to def>10 tháng 9 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809219999Z" level=info msg="ccResolverWrapper: đang gửi bản cập nhật đến cc: {[{uni>10/9 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.809410545Z" level=info msg="ClientConn switching balancer to \"pick_first\">10/9 07:19:34 debian11 dockerd[29018]: time="2021-09-10T07:19:34.897972507Z" level=info msg="Đang tải container: bắt đầu."10/9 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.186940748Z" level=info msg="Cầu nối mặc định (docker0) được gán với IP>10/9 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.298681937Z" level=info msg="Đang tải container: xong."10/9 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.356364773Z" level=info msg="Docker daemon" commit=75249d8 graphdriver(s)=ov>10/09 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.357524464Z" level=info msg="Daemon đã hoàn tất quá trình khởi tạo"10/09 07:19:35 debian11 systemd[1]: Đã khởi động Docker Application Container Engine.10 tháng 9 07:19:35 debian11 dockerd[29018]: time="2021-09-10T07:19:35.401626151Z" level=info msg="API listen on /run/docker.sock"

Chạy Container Sử dụng Docker​

Bạn có thể sử dụng lệnh docker run để tải xuống bất kỳ hình ảnh nào và chạy nó bên trong container.

Ví dụ, chạy lệnh sau để tải xuống hình ảnh Debian và chạy container:
Mã:
docker run --rm -it --name test debian:latest /bin/sh
Bạn sẽ nhận được đầu ra sau:
Mã:
Không tìm thấy hình ảnh 'debian:latest' cục bộlatest: Đang kéo từ thư viện/debian955615a668ce: Kéo hoàn thànhTóm tắt: sha256:08db48d59c0a91afb802ebafc921be3154e200c452e4d0b19634b426b03e0e25Trạng thái: Đã tải xuống hình ảnh mới hơn cho debian:latest#
Chạy lệnh sau để thoát khỏi vùng chứa Debian
Mã:
#exit

Cài đặt Docker Compose​

Theo mặc định, Docker compose không khả dụng trong kho lưu trữ mặc định của Debian 11. Vì vậy, bạn sẽ cần tải xuống tệp nhị phân Docker compose từ Github.

Chạy lệnh sau để tải xuống tệp nhị phân Docker compose:
Mã:
curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -
Sau khi tải xuống hoàn tất, hãy đặt quyền thực thi cho tệp đã tải xuống và di chuyển tệp đó đến đường dẫn hệ thống bằng lệnh sau:
Mã:
chmod +x docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
Tiếp theo, hãy xác minh phiên bản Docker compose bằng lệnh sau:
Mã:
docker-compose version
Bạn sẽ thấy đầu ra sau:
Mã:
docker-compose version 1.29.2, build 5becea4cdocker-py version: 5.0.0CPython version: 3.7.10OpenSSL version: OpenSSL 1.1.0l 10 tháng 9 năm 2019

Lệnh Docker Compose​

Để chạy tệp Docker compose, hãy chạy lệnh sau:
Mã:
docker-compose up -d
Để dừng tất cả các container đang chạy, hãy chạy lệnh sau:
Mã:
docker-compose down
Để tạm dừng và bỏ tạm dừng container đang chạy, hãy chạy lệnh sau:
Mã:
docker-compose pause
docker-compose unpause
Để liệt kê tất cả các container đang chạy, hãy chạy lệnh sau:
Mã:
docker-compose ps
Để kiểm tra nhật ký của các dịch vụ đang chạy, hãy chạy lệnh sau:
Mã:
docker-compose logs

Kết luận​

Xin chúc mừng! bạn đã cài đặt thành công Docker và Docker Compose trên Debian 11. Bây giờ bạn có thể xây dựng, vận chuyển và chạy ứng dụng của mình bằng Docker và Docker Compose.
 
Back
Bên trên