一、準備工作
1、系統要求
docker要求centos的核心版本不低於3.10。centos7滿足最低核心要求。
檢查當前的核心版本
[root@zspc /]# uname -r
3.10.0-1160.el7.x86_64
可以看到我當前的核心版本為3.10,符合最低核心要求。
2、解除安裝舊版本
如果之前安裝過Docker的話,需要先解除安裝。
執行以下命令即可:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
二、安裝Docker
1、安裝依賴包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
2、更新本地映象源
由於國內網路原因,所以這裡使用阿里的docker源
# 設定docker映象源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
3、安裝Docker
yum install docker-ce docker-ce-cli containerd.io
安裝過程中如果有提示,就選y。
4、驗證是否安裝成功
[root@zspc /]# docker -v
Docker version 26.1.4, build 5650f9b
三、啟動Docker
一般情況下,啟動Docker只需要關閉防火牆即可,但這是極其不安全的行為,所以要想在啟用防火牆的情況下執行Docker,就要配置防火牆以允許Docker的相關流量。
1、檢查防火牆
執行以下命令檢查防火牆狀態,可以看到防火牆正在執行
[root@zspc /]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2024-08-13 11:28:52 CST; 24h ago
2、配置防火牆
Docker 使用了一種名為 bridge 的網路型別,需要在防火牆中開啟這種網路型別。
firewall-cmd --permanent --zone=public --add-masquerade
Docker 預設使用 172.17.0.0/16 網段,需要在防火牆中開啟這個網段。
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 4 -i docker0 -j ACCEPT
重新載入防火牆以應用新的規則
firewall-cmd --reload
4、啟動Docker
systemctl start docker
設定開機自啟動
systemctl enable docker
驗證是否啟動成功
執行 docker ps 命令,出現如下結果,即表示Docker啟動成功。
[root@zspc /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES