天天看點

CentOS 8.4安裝Docker

前言:

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

系統要求:

  • Docker 支援 64 位版本 CentOS 7/8,并且要求核心版本不低于 3.10。
  • 需要啟用centos-extras  repository。在 CentOS 7 中這個倉庫是預設啟用的,如果之前有将其禁用,則需要重新啟用
  • CentOS 7 滿足最低核心的要求,但由于核心版本比較低,部分功能(如 

    overlay2

     存儲層驅動)無法使用,并且部分功能可能不太穩定。

安裝環境:

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

注意:切勿在沒有配置 Docker YUM 源的情況下直接使用 yum 指令安裝 Docker.
CentOS 8.4安裝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://blog.csdn.net/weixin_43202123/article/details/119948927

使用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
      
CentOS 8.4安裝Docker

官方鏡像源位址:

# 官方源
# 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
      

如下是成功安裝的依賴:  

CentOS 8.4安裝Docker

檢視安裝成功的docker版本:docker -v

CentOS 8.4安裝Docker

CentOS8 額外設定

由于 CentOS8 防火牆使用了 

nftables

,但 Docker 尚未支援 

nftables。

首先我們檢視防火牆的狀态,假如防火牆狀态是開啟的我們執行下面的操作:

systemctl status firewalld
      
CentOS 8.4安裝Docker

我們可以使用如下設定使用 

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

CentOS 8.4安裝Docker

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

sudo systemctl enable docker
sudo systemctl start docker           

最後檢視docker運作狀态

systemctl status docker
      
CentOS 8.4安裝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的鏡像到本地(是本地不存在該鏡像的情況),并且将其自動執行個體化容器。

CentOS 8.4安裝Docker
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鏡像和容器:

CentOS 8.4安裝Docker
CentOS 8.4安裝Docker

Docker學習系列文章

入門必備:十本你不容錯過的Docker入門到精通書籍推薦👉

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

day2、CentOS 8.4安裝Docker👉

day3、Windows10 Docker安裝詳細教程👉

參考文章:

Install Docker Engine on CentOS

CentOS 7 (使用yum進行安裝)

作者:追逐時光者

作者簡介:一個熱愛程式設計,善于分享,喜歡學習、探索、嘗試新事物,新技術的程式猿。

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。如果該篇文章對您有幫助的話,可以點一下右下角的【♥推薦♥】,希望能夠持續的為大家帶來好的技術文章,文中可能存在描述不正确或錯誤的地方,歡迎指正、補充,不勝感激 !

繼續閱讀