Docker 環境配置以及問題解決方案

環境準備

我的服務器是 centos 7 環境

如果CentOS系統內核低於3.10,可以升級軟件包及內核,通過 yum update 升級

Linux系統分為兩種:

RedHat系列:Redhat、Centos、Fedora等

Debian系列:Debian、Ubuntu等

RedHat系列的包管理工具是yum

Debian系列的包管理工具是apt-get

查看系統版本:

cat /proc/version
Linux version 3.10.0-1062.1.2.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Mon Sep 30 14:19:46 UTC 2019

我的系統是Red hat, 所以使用的包管理工具是yum

查看系統內核

uname -r // 查看系統內核
3.10.0-1062.1.2.el7.x86_64

查看系統配置

cat /etc/os-release // 查看系統配置
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

文檔傳送門:https://docs.docker.com/engine/install/centos/

安裝並運行一個hello-world

步驟

1、卸載舊版本

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

2、需要的安裝包

yum install -y yum-utils

3、設置鏡像倉庫

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo // 默認是國外的
    
		http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //  阿裡雲鏡像地址    

4、更新yum軟件包索引

yum makecache fast

5、安裝docker相關的內容

docker-ce 社區版

ee 企業版

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

6、配置阿裡雲鏡像加速

登錄阿裡雲,找到容器鏡像服務,找到自己的鏡像加速器

配置步驟如下

# 1 
sudo mkdir -p /etc/docker

# 2 編寫配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF

# 3 重新加載配置
sudo systemctl daemon-reload

# 4 啟動
sudo systemctl restart docker

7、重新加載配置文件

systemctl daemon-reload

8、啟動

systemctl start docker

9、查看是否啟動成功

docker version

10、hello-world 直接運行run命令

docker run hello-world

run命令工作流程圖解

11、查看下載的hello-world鏡像

docker images

卸載docker

# 1. 卸載依賴
yum remove docker-ce docker-ce-cli containerd.io

# 2. 刪除目錄
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

問題匯總

docker 啟動報錯

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

修改/usr/lib/systemd/system/docker.service

錯誤原因:

dockersocket配置出現瞭沖突,docker在運行時的啟動入口文件為:/lib/systemd/system/docker.service,我們在配置鏡像加速之後又添加瞭一個守護進程文件:/etc/docker/daemon.json,兩個文件對host進行瞭配置,發生沖突。

查看報錯詳情 journalctl -xe

failed to start daemon: error initializing graphdriver: /var/lib/docker contains several valid graphdrivers: devicemapper, o

解決辦法:

修改 /etc/docker/daemon.json

增加:

"storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
 ]

常用命令

查看版本 docker -v

設置服務器開機啟動

systemctl enable docker

停止docker

systemctl stop docker

systemctl 方式

# 守護進程重啟
sudo systemctl daemon-reload

# 重啟docker服務
sudo systemctl restart docker

# 關閉docker
sudo systemctl stop docker

到此這篇關於Docker 環境配置以及問題解決方案的文章就介紹到這瞭,更多相關Docker 環境配置內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: