一、环境准备
开始之前,一定要先检查自己的centos7的版本和yum源是否有问题
wget -O /etc/yum.repos.d/CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
1.检查centos7版本
why检查?网上说Docker 要求 CentOS 系统的内核版本高于 3.10 ,我们首先通过 uname -r 命令查看当前的内核版本看是否满足条件
- uname -r
2.开启网络和配置yum源
-
图形化操作配置网络,让电脑可以正常上网
-
配置yum源注意,yum源文件在/etc/yum.repos.d,改源之前一定要备份原来的源
cd /etc/yum.repos.d
mkdir back
mv ./*.repo back
#下面配置的是阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 清除yum缓存
yum clean all
# 缓存阿里云源
yum makecache
# 测试阿里云源
yum list
二、安装docker
1.使用 root 权限更新 yum 包(生产环境中此步操作需慎重,看自己情况,学习的话随便搞)
yum -y update
- 这个命令不是必须执行的,看个人情况,后面出现不兼容的情况的话就必须update了
注意
yum -y update:升级所有包同时也升级软件和系统内核;
yum -y upgrade:只升级所有包,不升级软件和系统内核
2.卸载旧版本(如果之前安装过的话)
yum remove docker docker-common docker-selinux docker-engine
3. 安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖
- 这个好像是设置依赖工具
yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置yum源
- 设置一个yum源,下面两个都可用
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
5.选择docker版本并安装
yum list docker-ce --showduplicates | sort -r
yum -y install docker-ce-18.03.1.ce
6.开启docker并查看版本
systemctl start docker
dockcer version
三、安装compose
方式一:使用pyhton的pip下载
yum -y install python3-pip
pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple
docker-compose version
方式二:使用github下载,然后到本地安装
- 这个作者没试过,不过可以参考我参考的两篇大佬的博客
四、过程中遇到的问题解决
1.网络问题
- 一定要能上网
2.yum源一定要正常
- yum源可能会出错误有时候,反正实在不行就换源试试
3.docker pull失败
使用下面的脚本:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://hub.uuuadc.top",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://docker.ckyl.me",
"https://docker.awsl9527.cn"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
将上面内容保存在一个文件,如叫做1.sh
vim 1.sh
上述内容
#保存退出
bash 1.sh
然后再docker pull就没问题了
4.可以pull,但是部分提示Error response from daemon: pull access denied for vulhub, repository does not exist or may require ‘docker login’
-
Error response from daemon:…latest not found解决办法
-
使用docker pull vulhub/redis时,总是得到以下提示,在更换其他image后同样还是出现这个问题,目前已解决这个问题,在此分享给各位需要的人士。
具体的错误如下,笔者pull的image是vulhub/redis。 -
这个问题根据提示是因为找不到最新的image,docker默认下载lastest。所以我们要指定具体的版本,我当时想pull的就是最新的所以,指定最新的版本,具体的操作方法如下。
解决方案:
前往Docker Hub
https://hub.docker.com/
搜索你想pull的image,可以模糊搜索,然后在里面找到你想要的。然后单击进入后,复制右侧的Docker Pull Command。
此时如果直接pull就会出问题(这个问题不一定出现),但是您来这里我想相信可能是遇到了问题,不废话了。。单击这个Tags~
然后选择一个版本
我选择的一个,然后在终端输入以下命令
docker pull vulhub/redis:5.0.7
参考文章:https://cloud.tencent.com/developer/article/1701451
CentOS下 Docker、Docker Compose 的安装教程
https://blog.csdn.net/KingveyLee/article/details/114984534
https://blog.csdn.net/jianchi1117/article/details/86678486