linux 安装 docker 及 遇到版本问题小记
实验环境 Centos 7
linux 小版本更新
docker 对 linux 版本有要求(次要版本 >300 左右). 版本过低会导致一系列: 比如端口映射了,但范围不通的情况
找出系统上正在运行的Linux内核版本
$ uname -srm
Linux 3.10.0-327.el7.x86_64 x86_64
Linux 3.10.0-327.el7.x86_64 x86_64
3 - 内核版本.
10 - 主修订版本.
0-957 - 次要修订版本.
查询可升级最新版本
$ yum list kernel
Loaded plugins: fastestmirror
Determining fastest mirrors
* base: mirrors.ustc.edu.cn
* elrepo: mirror-hk.koddos.net
* epel: hkg.mirror.rackspace.com
* extras: mirrors.ustc.edu.cn
* updates: mirrors.ustc.edu.cn
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/4): extras/7/x86_64/primary_db | 242 kB 00:00:00
(3/4): base/7/x86_64/primary_db | 6.1 MB 00:00:01
(4/4): updates/7/x86_64/primary_db | 9.5 MB 00:00:01
Installed Packages
kernel.x86_64 3.10.0-327.el7 @anaconda
kernel.x86_64 3.10.0-1062.12.1.el7 @Aliyun
Available Packages
kernel.x86_64 3.10.0-1160.36.2.el7 updates
上面我们可以看到可以升级到 3.10.0-1062.12.1.el7
, 于是执行命令 yum update -y kernel
进行小版本升级
重启系统
命令 sudo init 6
重启系统后, 在查看 linux 内核版本
$ uname -srm
Linux 3.10.0-1160.36.2.el7.x86_64 x86_64
卸载 旧版本 docker
查看系统中 docker 是否已安装? 如果存在确认无用后卸载重装
$ rpm -qa | grep docker
docker-ce-cli-20.10.7-3.el7.x86_64
docker-ce-rootless-extras-20.10.7-3.el7.x86_64
docker-ce-20.10.7-3.el7.x86_64
docker-scan-plugin-0.8.0-3.el7.x86_64
# 删除 docker
$ yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装 Docker 仓库
安装所需软件包:(yum-utils、device-mapper-persistent-data、lvm2
$ yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置稳定的仓库(用于下载 docker)
$ yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装社区版的 Docker(Docker Engine-Community)
$ yum install docker-ce docker-ce-cli containerd.io
查看当前版本,若有版本数据,则安装成功
$ docker -v
Docker version 20.10.7, build f0df350
配置国内镜像加速
【加速器地址:】
https://y5krm9wr.mirror.aliyuncs.com
【修改配置文件:】
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://y5krm9wr.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
启动 docker,并检查是否成功启动。
# 启动、关闭 docker
sudo systemctl start docker
sudo systemctl stop docker
或
sudo service docker start
sudo service docker stop
# 检查是否启动成功
查看本地镜像
sudo docker images
或 运行 hello-world 镜像
sudo docker run hello-world
设置开机自启动
docker 属于底层支持软件, 如果每次开机都需要手动输入命令, 用于重新启动 docker,很麻烦,所以一般设置开机自启动。
# 查看是否开机自启动
systemctl list-unit-files | grep enable
或者
systemctl list-unit-files | grep docker
# 开机自启动
sudo systemctl enable docker