Cài đặt Docker CE trên hệ thống Linux

Docker là một container runtime engine cho phép bạn đóng gói một ứng dụng với tất cả các dependencies của nó thành một đơn vị tiêu chuẩn hóa để phát triển phần mềm.

Docker container đóng gói phần mềm trong một filesystem chứa mọi thứ: code, runtime, công cụ hệ thống, thư viện hệ thống - bất cứ thứ gì bạn có thể cài đặt trên máy chủ. Điều này đảm bảo rằng nó sẽ luôn chạy giống nhau, bất kể nó đang chạy trong môi trường nào.


Ở đây chúng tôi sẽ đề cập đến việc cài đặt Docker CE trên các bản phân phối Ubuntu, Debian, Fedora, CentOS và Arch Linux.

Cài đặt Docker CE trên Ubuntu Linux

Gỡ cài đặt phiên bản Docker cũ có tên docker hoặc docker-engine. Nếu bạn đã cài đặt nó, trước tiên hãy gỡ cài đặt nó.
sudo apt update
sudo apt remove docker docker-engine docker.io 2>/dev/null
Gói Docker CE hiện được gọi là docker-ce. Cập nhật chỉ mục apt  package:
sudo apt update
Cài đặt các package để cho phép apt sử dụng repository qua HTTPS:
sudo apt -y install apt-transport-https ca-certificates curl software-properties-common
Thêm khóa GPG của Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Thêm repository phần mềm:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Cài đặt Docker CE:
sudo apt update
sudo apt -y install docker-ce docker-ce-cli containerd.io
Nếu bạn muốn sử dụng Docker với tư cách là người dùng non-root, bây giờ bạn nên xem xét thêm user của mình vào group "docker" với những thứ như:
sudo usermod -aG docker $USER
newgrp docker
Chạy lệnh bên dưới để xem phiên bản docker đã được cài đặt.
$ docker version
Client: Docker Engine - Community
Version: 20.10.12
API version: 1.41
Go version: go1.16.12
Git commit: e91ed57
Built: Mon Dec 13 11:45:41 2021
OS/Arch: linux/amd64
Context: default
Experimental: true

Server: Docker Engine - Community
Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.12)
Go version: go1.16.12
Git commit: 459d0df
Built: Mon Dec 13 11:44:05 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Để biết thêm chi tiết về docker, hãy chạy:
$ docker info

Cài đặt Docker CE trên hệ thống Debian Linux

Cập nhật apt package:
sudo apt-get update
Cài đặt các gói để cho phép apt sử dụng repository qua HTTPS:
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
Thêm khóa GPG của Docker:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
Thiết lập repository phần mềm:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Cài đặt Docker:
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io
Thêm tài khoản người dùng vào group docker:
sudo usermod -aG docker $USER
newgrp docker

Cài đặt Docker CE trên Fedora Linux

Gỡ cài đặt các phiên bản Docker cũ hơn:
sudo dnf remove docker docker-common docker-selinux docker-engine-selinux docker-engine 2>/dev/null
Cấu hình Docker repository:
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
Cài đặt Docker CE:
sudo dnf install docker-ce docker-ce-cli containerd.io
Bắt đầu và kích hoạt dịch vụ docker:
sudo systemctl start docker && sudo systemctl enable docker
Thêm tài khoản người dùng của bạn vào group docker:
sudo usermod -aG docker $USER
newgrp docker

Cài đặt Docker CE trên CentOS/Rocky Linux

Gỡ cài đặt các phiên bản cũ:
sudo yum remove docker docker-common docker-selinux docker-engine
Cài đặt Yêu cầu tiên quyết:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
Thiết lập stable repo:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Cài đặt Docker CE:
sudo yum -y install docker-ce docker-ce-cli containerd.io
Nếu bạn gặp lỗi dependency, hãy chạy:
sudo yum install -y --setopt=obsoletes=0 docker-ce docker-ce-selinux
Bắt đầu và kích hoạt dịch vụ docker:
sudo systemctl start docker && sudo systemctl enable docker
Thêm tài khoản người dùng của bạn vào group docker:
sudo usermod -aG docker $USER
newgrp docker

Cài đặt Docker CE trên SLES / OpenSUSE

OpenSUSE SELinux repository phải được kích hoạt.
sles_version="$(. /etc/os-release && echo "${VERSION_ID##*.}")"
opensuse_repo="https://download.opensuse.org/repositories/security:SELinux/SLE_15_SP$sles_version/security:SELinux.repo"
sudo zypper addrepo $opensuse_repo
Thiết lập Docker repository
sudo zypper addrepo https://download.docker.com/linux/sles/docker-ce.repo
sudo zypper install docker-ce docker-ce-cli containerd.io
Khởi động và kích hoạt dịch vụ Docker
sudo systemctl start docker
sudo systemctl enable docker
Thêm tài khoản người dùng của bạn vào group docker:
sudo usermod -aG docker $USER
newgrp docker

Cài đặt Docker CE trên Máy chủ RHEL

Thêm Docker repository
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
Cài đặt Docker CE trên hệ thống RHEL:
sudo yum install docker-ce docker-ce-cli containerd.io
Bắt đầu và kích hoạt dịch vụ docker
sudo systemctl start docker
sudo systemctl enable docker
Thêm tài khoản người dùng của bạn vào group docker:
sudo usermod -aG docker $USER
newgrp docker

Cài đặt Docker CE trên Arch | Manjaro

Cài đặt yay:
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si
Cài đặt Docker CE bằng pacaur:
$ yay -S --noconfirm --needed docker
Thêm tài khoản người dùng của bạn vào group docker:
sudo usermod -aG docker $USER
newgrp docker