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.
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:
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:
Sau khi cài đặt, hãy xác minh phiên bản Docker CE bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Để khởi động dịch vụ Docker, hãy chạy lệnh sau:
Để khởi động lại dịch vụ Docker, hãy chạy lệnh sau:
Để dừng dịch vụ Docker, hãy chạy lệnh sau:
Để 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:
Để kiểm tra trạng thái Docker, hãy chạy lệnh sau:
Bạn sẽ thấy trạng thái của Docker trong đầu ra sau:
Ví dụ, chạy lệnh sau để tải xuống hình ảnh Debian và chạy container:
Bạn sẽ nhận được đầu ra sau:
Chạy lệnh sau để thoát khỏi vùng chứa Debian
Chạy lệnh sau để tải xuống tệp nhị phân Docker compose:
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:
Tiếp theo, hãy xác minh phiên bản Docker compose bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Để dừng tất cả các container đang chạy, hãy chạy lệnh sau:
Để tạm dừng và bỏ tạm dừng container đang chạy, hãy chạy lệnh sau:
Để liệt kê tất cả các container đang chạy, hãy chạy lệnh sau:
Để kiểm tra nhật ký của các dịch vụ đang chạy, hãy chạy lệnh sau:
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
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"
Mã:
apt-get update -y
apt-get install docker-ce docker-ce-cli -y
Mã:
docker version
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
Mã:
systemctl restart docker
Mã:
systemctl stop docker
Mã:
systemctl enable docker
Mã:
systemctl status docker
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
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#
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 -
Mã:
chmod +x docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
Mã:
docker-compose version
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
Mã:
docker-compose down
Mã:
docker-compose pause
docker-compose unpause
Mã:
docker-compose ps
Mã:
docker-compose logs