CentOS 8.4安裝Docker的詳細教程

前言:

  Docker 是一個用於開發、傳送和運行應用程序的開放平臺。Docker 使您能夠將應用程序與基礎設施分開,以便您可以快速交付軟件。使用 Docker,您可以像管理應用程序一樣管理基礎設施。通過利用 Docker 的快速交付、測試和部署代碼的方法,您可以顯著減少編寫代碼和在生產中運行代碼之間的延遲。為瞭讓開發、部署、測試和分發變得更高效和輕松,讓我們把Docker安裝起來體驗一下它的魅力所在吧!

系統要求:

  • Docker 支持 64 位版本 CentOS 7/8,並且要求內核版本不低於 3.10。
  • 需要啟用centos-extrasrepository。在 CentOS 7 中這個倉庫是默認啟用的,如果之前有將其禁用,則需要重新啟用
  • CentOS 7 滿足最低內核的要求,但由於內核版本比較低,部分功能(如overlay2存儲層驅動)無法使用,並且部分功能可能不太穩定。

安裝環境:

  本文主要是在Liunx操作系統CentOS8.4中安裝Docker,我們安裝之前可以先查看自己的系統版本,使用命令:lsb_release -a 進行查看(如下圖所示)。

註意:切勿在沒有配置 Docker YUM 源的情況下直接使用 yum 命令安裝 Docker.

卸載舊版本:

舊版本的Docker在CentOS中的包名為docker或者docker-engine。如果你之前的Linux CentOS系統中安裝瞭Docker的舊版本,你需要先卸載舊版Docker及其相關依賴,執行以下命令:

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

因為我的系統系剛安裝的,所以執行上面的命令提示的是沒有找到需要移除的包!

如果yum報告沒有安裝這些軟件包,那也沒關系。

註意:/var/lib/docker/目錄下的內容,包括鏡像、容器、卷組、網絡等文件將被保留。Docker CE 的新包名為docker-ce

yum到底是幹什麼的?

簡單描述:yum稱為包管理器,主要用來解決:下載、依賴關系、安裝、卸載四種問題。

詳細說明:https://www.jb51.net/article/165658.htm

使用yum安裝:

執行以下命令安裝依賴包和必要的一些系統工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

配置yum穩定鏡像源:

因為國內網絡原因,推薦使用阿裡雲提供的Docker CE 鏡像源站!

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

官方鏡像源地址:

# 官方源
# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安裝 Docker

更新yum軟件源緩存,並安裝docker-ce(一路yes即可)

sudo yum install docker-ce docker-ce-cli containerd.io

如下是成功安裝的依賴:  

查看安裝成功的docker版本:docker -v

CentOS8 額外設置

由於 CentOS8 防火墻使用瞭nftables,但 Docker 尚未支持nftables。

首先我們查看防火墻的狀態,假如防火墻狀態是開啟的我們執行下面的操作:

systemctl status firewalld

我們可以使用如下設置使用iptables:更改/etc/firewalld/firewalld.conf

# FirewallBackend=nftables
FirewallBackend=iptables

或者執行以下命令:

firewall-cmd --permanent --zone=trusted --add-interface=docker0
 
firewall-cmd --reload

開啟Docker服務:

執行sudo service docker start 命令開啟Docker服務提示異常:Redirecting to /bin/systemctl start docker.service

看異常就是需要執行systemctl的相關命令,因為Linux的不同發行版開啟Docker服務的命令也有所不同

sudo systemctl enable docker
sudo systemctl start docker

最後查看docker運行狀態

systemctl status docker

啟動 Docker 守護進程:

官方教程:https://docs.docker.com/config/daemon/systemd/

手動啟動

安裝 Docker 後,您需要啟動 Docker 守護程序。大多數 Linux 發行版用於systemctl啟動服務。

sudo systemctl start docker

在系統啟動時自動啟動

如果您希望 Docker 在啟動時啟動,請參閱配置 Docker 以在啟動時啟動👉。

Docker基礎命令:

啟動docker:systemctl start docker

停止docker:systemctl stop docker

重啟docker:systemctl restart docker

查看docker狀態:systemctl status docker

開機啟動:systemctl enable docker

當前系統docker信息:docker info

列舉出所有的容器:docker ps -a

停止容器:docker start 容器ID或容器名

直接關閉容器:docker kill 容器ID或容器名

重啟容器:docker restart 容器ID或者容器名

刪除容器:docker rm 容器ID或者容器名

查看鏡像:docker image ls

更多命令搜索(推薦):Docker命令在線速查手冊

測試 Docker 是否安裝正確

首先我們輸入docker run hello-world是否會出現下圖所示的提示,如果出現報錯,這環境配置可能出現瞭問題。

註意:這行命令會讓Docker從官方倉庫中拉去hello-world的鏡像到本地(是本地不存在該鏡像的情況),並且將其自動實例化容器。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
Status: Downloaded newer image for hello-world:latest
 
Hello from Docker!
This message shows that your installation appears to be working correctly.
 
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
 
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
 
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
 
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

查看hello-World鏡像和容器:

Docker學習系列文章

day1、全面的Docker快速入門教程👉

day2、CentOS 8.4安裝Docker👉

參考文章:

Install Docker Engine on CentOS

CentOS 7 (使用yum進行安裝)

到此這篇關於CentOS 8.4安裝Docker的文章就介紹到這瞭,更多相關CentOS 8.4安裝Docker內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: