centos7安裝docker詳細教程

树叶的一生啊發表於2024-08-14

一、準備工作

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

相關文章