docker安装-指定版本,并修改docker默认路径
一、安装前检查
如果安装docker目录的系统文件类型是xfs,需要**ftype=1**才支持 overlay2
#查看文件系统类型
[root@LXCLDB ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
fd0
sda
├─sda1 xfs 3bd915ea-3b33-4b7a-96d1-654667faf43c /boot
├─sda2 LVM2_member sCWcmT-j3BZ-va4O-QMMk-oJ3E-lcKV-iOzoHr
│ ├─centos-root xfs 1175271a-fbbf-4371-b264-c49b1041d5c4 /
│ └─centos-swap swap ce7586f5-6485-4afe-a9f2-9ec5e02b91f3
└─sda3 LVM2_member 9Msstq-ZOrr-c7gG-K33J-cERv-3ITc-y1B8tL
└─centos-root xfs 1175271a-fbbf-4371-b264-c49b1041d5c4 /
sr0
#系统文件类型是xfs,查看ftype的值
[root@LXCLDB ~]# xfs_info /
meta-data=/dev/mapper/centos-root isize=512 agcount=57, agsize=2301440 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=129792000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=4495, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@LXCLDB ~]#
二、升级操作系统内核
升级操作系统内核:https://blog.csdn.net/lihongbao80/article/details/101364043
三、安装docker
3、卸载旧版本(如果安装过旧版本的话)
yum list installed | grep docker
yum remove docker***
rm -rf /var/lib/docker
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
使用官方源地址(比较慢)
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
可以选择国内的一些源地址:阿里云
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
7、安装docker
$ sudo yum install docker-ce #这是安装最新版本
$ sudo yum install 某个版本 # 例如:sudo yum install docker-ce-17.03.2.ce
通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:sudo yum install docker-ce-18.09.9。
可能会出现:
--> 正在处理依赖关系 docker-ce-selinux >= 17.03.2.ce-1.el7.centos,它被软件包 docker-ce-17.03.2.ce-1.el7.centos.x86_64 需要
软件包 docker-ce-selinux 已经被 docker-ce 取代,但是取代的软件包并未满足需求
--> 解决依赖关系完成
错误:软件包:docker-ce-17.03.2.ce-1.el7.centos.x86_64 (docker-ce-stable)
需要:docker-ce-selinux >= 17.03.2.ce-1.el7.centos
可用: docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch (docker-ce-stable)
docker-ce-selinux = 17.03.0.ce-1.el7.centos
可用: docker-ce-selinux-17.03.1.ce-1.el7.centos.noarch (docker-ce-stable)
docker-ce-selinux = 17.03.1.ce-1.el7.centos
可用: docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch (docker-ce-stable)
docker-ce-selinux = 17.03.2.ce-1.el7.centos
可用: docker-ce-selinux-17.03.3.ce-1.el7.noarch (docker-ce-stable)
docker-ce-selinux = 17.03.3.ce-1.el7
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
这时我们需要通过 yum install 安装一个rpm包
通过这个地址我们查看和我们安装docker版本一直的rpm包
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

通过命令安装,注意选择合适的版本
yum install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
8、修改docker默认路径(可以用软连接的方法,这是指定目录的方法)
# 修改daemon.json
mkdir -p /etc/docker/
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": [
"https://5twf62k1.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com"],
"insecure-registries": [
"sinoeyes.io"
,"hub.sinoeyes.com"
],
"storage-driver": "overlay2",
"log-driver": "json-file",
"log-opts": {"max-size": "300m","max-file": "3"},
"bip":"172.16.3.1/24",
"data-root":"/home/docker"
}
EOF
# reload配置文件
systemctl daemon-reload
9、启动并加入开机启动
systemctl start docker
systemctl enable docker
10、验证安装是否成功
#查看版本
docker version
# 查看数据目录
docker info | grep Dir
更多推荐
所有评论(0)