实验环境 Centos 7
docker 对 linux 版本有要求(次要版本 >300 左右). 版本过低会导致一系列: 比如端口映射了,但范围不通的情况
$ 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 是否已安装? 如果存在确认无用后卸载重装
$ 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
官方参考: https://docs.docker.com/engine/install/centos/
安装所需软件包:(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 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