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.

卸載舊版本:

舊版本的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

官方鏡像源地址:

# 官方源
# 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進行安裝)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章