前提說明
查看自己的內核
uname -r
cat /etc/redhat-release
docker的基本組成
docker的架構圖
docker三要素
Docker | 面向對象 |
---|---|
容器 | 對象 |
鏡像 | 類 |
倉庫 | 項目 |
這有三個容器,均來自與同一個模板,Person
CentOS6安裝Docker
yum install -y epel-release
Docker使用EPEL發佈,RHEL系的OS首先要確保已經持有EPEL倉庫,否則先檢查OS的版本,然後安裝相應的EPEL包。
yum install docker-io
查看docker配置文件
docker的啓動
service docker start
查看docker版本信息
docker version
CentOS7安裝Docker
卸載老版本的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
安裝需要的軟件包
yum install -y yum-utils device-mapper-persistent-data lvm2
設置stable鏡像倉庫
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新yun軟件包索引
yum makecache fast
安裝DOCKER CE
yum -y install docker-ce
啓動Docker
systemctl start docker
測試,查看版本,運行倉庫
docker version
docker run hello-word
配置鏡像加速
mkdir -p /etc/docker
vim /etc/docker/daemon.json
#網易雲
{"registry-mirrors": ["http://hub-mirror.c.163.com"] }
#阿里雲
{
"registry-mirrors": ["https://{自已的編碼}.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
CentOS8安裝Docker
安裝社區版Docker Engine
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-nightlyyum-config-manager --enable docker-ce-test
yum-config-manager --enable docker-ce-test
yum-config-manager --disable docker-ce-nightly
安裝這一步報錯
yum install docker-ce docker-ce-cli containerd.io
報錯內容
[root@localhost yum.repos.d]# yum install docker-ce docker-ce-cli containerd.io
Last metadata expiration check: 0:04:46 ago on Mon 16 Mar 2020 03:40:11 PM CST.
Package containerd.io-1.2.0-3.el7.x86_64 is already installed.
Error:
Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
- cannot install the best candidate for the job
- package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
- package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.2-3.el7.x86_64 is excluded
- package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
- package containerd.io-1.2.11-3.2.el7.x86_64 is excluded
- package containerd.io-1.2.12-3.1.el7.x86_64 is excluded
- package containerd.io-1.2.6-3.2.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
分析原因
看上面的內容,說的是containerd.io >= 1.2.2-3 ,意思就是 containerd.io 的版本必須大於等於 1.2.2-3
解決
如果不想降低docker 版本,那麼就更新 containerd.io 的版本
yum install -y wget
wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install -y containerd.io-1.2.6-3.3.el7.x86_64.rpm
yum install docker-ce docker-ce-cli
一直‘y’
啓動 docker
systemctl start docker
檢查是否安裝成功
檢查版本號
docker -v
返回版本信息
參考文章:https://www.backendcloud.cn/2020/03/16/centos8installdocker/