Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách cài đặt Docker trên Ubuntu Linux

Docker đã tạo ra một cơn sốt trong ngành kỹ thuật phần mềm, không chỉ cách mạng hóa cách chúng ta đóng gói và triển khai phần mềm mà còn thay đổi cách các kỹ sư thiết lập môi trường phát triển trên máy tính cá nhân.

Hướng dẫn này sẽ giúp bạn bắt đầu với Docker bằng cách cài đặt nó trên Ubuntu Linux 20.04 (Focal Fossa), phiên bản hỗ trợ dài hạn (LTS) mới nhất của Ubuntu tại thời điểm viết bài.

Lợi ích của Docker

Docker là một nền tảng mã nguồn mở cho phép bạn tự động hóa và triển khai ứng dụng dưới dạng các gói độc lập gọi là container. Docker sử dụng công nghệ ảo hóa cấp hệ điều hành nhưng khác với máy ảo, nó nhẹ nhàng hơn nhiều đối với tài nguyên hệ thống.

Một số lợi ích chính của Docker bao gồm:

  • Dễ sử dụng và học tập
  • Cung cấp cách triển khai phần mềm nhất quán và đơn giản
  • Tương thích với kiến trúc microservice
  • Rất nhẹ trên việc sử dụng tài nguyên

Thiết lập kho phần mềm Docker

Có một số phương pháp cài đặt Docker, hướng dẫn này sẽ chỉ cách cài đặt từ kho Docker bằng tiện ích dòng lệnh apt. Cách này cho phép bạn dễ dàng nâng cấp gói Docker sau này và cũng là phương pháp được đội ngũ Docker khuyến nghị.

Bước đầu tiên là thêm kho phần mềm Docker vào danh sách nguồn phần mềm. Bạn sẽ sử dụng kho Docker qua HTTPS, sau đó cài đặt các phần mềm cần thiết bằng lệnh dưới đây.

Làm theo thói quen tốt, trước tiên hãy cập nhật danh sách các gói phần mềm có sẵn.

sudo apt update

Tiếp theo, tải xuống tất cả các phụ thuộc cần thiết cho việc cài đặt bằng apt install.

sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release

Phần mềm Docker sử dụng GnuPG (còn gọi là GPG) để bảo mật truyền thông khi tải gói phần mềm từ kho của nó. GPG là tiêu chuẩn triển khai của PGP (Pretty Good Privacy) dùng để mã hóa tin nhắn hoặc dữ liệu.

Để thêm khóa GPG chính thức của Docker vào keyring cục bộ, hãy sử dụng lệnh sau.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Docker có ba phiên bản phát hành chính trong kho: stable (ổn định), test (thử nghiệm) và nightly (phát hành hàng đêm). Hướng dẫn này tập trung vào phiên bản stable.

Chạy lệnh sau để sử dụng kho phát hành stable của Docker.

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Lưu ý: Lệnh trên giả định bạn đang sử dụng kiến trúc AMD. Nếu bạn dùng kiến trúc ARM, hãy thay arch=amd64 bằng arch=arm64 hoặc arch=armhf nếu dùng ARM hard float.

Cài đặt Docker Engine

Sau khi đã thiết lập kho phần mềm Docker, bạn có thể tiến hành cài đặt Docker Engine – thành phần cốt lõi để quản lý và chạy container Docker. Các thành phần quan trọng khác của Docker Engine bao gồm Docker Client, containerd, runc và Docker daemon.

Hãy cập nhật nguồn gói vì bạn vừa thêm kho Docker vào danh sách nguồn phần mềm.

sudo apt update

Để cài đặt Docker Engine, chạy lệnh sau. Mặc định sẽ cài đặt phiên bản stable mới nhất.

sudo apt-get install docker-ce docker-ce-cli containerd.io

Nếu muốn cài đặt phiên bản cụ thể, trước tiên hãy kiểm tra danh sách các phiên bản có sẵn:

apt-cache madison docker-ce
Cách cài đặt Docker trên Ubuntu Linux

Sau đó cài đặt phiên bản cụ thể, ví dụ 5:20.10.6~3-0~ubuntu-focal:

sudo apt-get install docker-ce=5:20.10.6~3-0~ubuntu-focal docker-ce-cli=5:20.10.6~3-0~ubuntu-focal containerd.io

Xác nhận cài đặt

Để kiểm tra Docker đã cài đặt thành công, chạy lệnh sau để xem phiên bản:

docker -v

Trên Ubuntu và các distro dựa trên Debian, dịch vụ Docker sẽ tự động khởi động khi hệ thống boot.

Bạn có thể thử chạy image hello-world để test cài đặt. Vì image chưa có cục bộ, hệ thống sẽ tải từ Docker Hub – thư viện các image container. Lần sau chạy lại sẽ dùng bản sao cục bộ.

sudo docker run hello-world
Cách cài đặt Docker trên Ubuntu Linux

Chạy Docker với người dùng không phải root

Hiện tại bạn chỉ có thể chạy container Docker với quyền superuser, đó là lý do lệnh trên dùng sudo. Docker daemon gắn vào Unix socket mặc định thuộc root, người dùng không phải root chỉ truy cập được qua sudo.

Để chạy container và các lệnh quan trọng khác mà không cần superuser, bạn cần tạo nhóm người dùng tên docker và thêm người dùng của mình vào nhóm đó. Lệnh groupadd quản lý nhóm người dùng trong Linux.

sudo groupadd docker
sudo usermod -aG docker $USER

Sử dụng lệnh sau để kích hoạt thay đổi nhóm:

newgrp docker

Lưu ý: Nhớ đăng xuất và đăng nhập lại để hệ thống nhận diện thành viên nhóm mới. Bạn có thể dùng lệnh sau để đăng xuất:

gnome-session-quit
Cách cài đặt Docker trên Ubuntu Linux

Trong một số trường hợp, có thể cần khởi động lại máy nếu vẫn không thể thực thi lệnh Docker như người dùng không phải root.

Gỡ cài đặt Docker

Để xóa Docker Engine khỏi Ubuntu Linux, chạy lệnh sau:

sudo apt remove docker docker-engine docker.io containerd runc

Mặc dù Docker Engine đã bị xóa, các file liên quan như image, container, volume hoặc file cấu hình tùy chỉnh không tự động bị xóa. Bạn có thể xóa chúng bằng tiện ích rm.

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Docker trong thực tế

Hướng dẫn này cho bạn biết cách cài đặt và cấu hình Docker trên Ubuntu Linux, cũng như cách chạy một image Docker đơn giản từ Docker Hub.

Docker là công cụ rất linh hoạt với nhiều trường hợp sử dụng trong kỹ thuật phần mềm. Nếu bạn là kỹ sư phần mềm hoặc làm DevOps, Docker sẽ đơn giản hóa việc triển khai phần mềm trong các môi trường khác nhau và hữu ích cho testing và prototyping.