centos 7.2系统安装docker26.1.4
一、Docker安装环境检查
以centOS 7为例,首先要确定Linux版本
新版本的Docker对Linux系统版本有一定的要求。如果Linux的发行版系统是centOS,安装最新版的docker需要centOS 7以上的系统。
在Docker安装帮助页面查看支持的系统版本。

可以通过命令查看linux系统信息
cat /etc/os-release

二、docker安装
1、安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2、添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、更新yum索引列表并安装Docker引擎
sudo yum makecache fast
4、yum索引列表没有更新可以直接使用yum makecache(若有报错请翻阅第四部分第二条)
docker-ce:社区版的,docker-ee:企业版的
sudo yum install docker-ce
5、安装过程中会提示确认,输入y以确认
6、开启Docker服务
sudo service docker start
或
systemctl start docker
7、测试是否安装成功
通过命令
docker version
若安装成功会提示以下信息

8、测试Hello World
docker run hello-world
或
sudo docker run hello-world

此时会有拉去成功的签名信息以及欢迎语句,当出现"Hello from Docker!”时,代表我们镜像安装成功。
9、查看下载的hello-world镜像
docker images
或
sudo docker images

10、设置开机自启
systemctl enable docker.service

遇到的问题:
一.重启docker后,docker info 结果最后有这两行:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
原因分析
这两个警告信息出现是因为 Linux 内核的某些网络桥接相关的功能没有被启用。bridge-nf-call-iptables 和 bridge-nf-call-ip6tables 是控制 iptables 是否能够过滤 bridge 网络接口上的流量的设置。如果这些设置被禁用,使用 Docker 创建的网络桥接可能无法通过 iptables 正确过滤网络流量。
要解决这个问题,你需要在 Linux 系统上启用这些功能。这通常可以通过修改 /etc/sysctl.conf 文件或使用 sysctl 命令直接设置来实现。下面是具体的操作步骤:
1) 编辑 sysctl 配置文件: 打开终端并编辑 /etc/sysctl.conf 文件,可以使用 nano 或者其他文本编辑器:
vi /etc/sysctl.conf
# 然后添加以下两行到文件的末尾
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1

2)激活修改: 修改完后,保存文件并关闭编辑器。然后执行以下命令以使更改生效:
sudo sysctl -p
3) 重新启动 Docker: 更改生效后,重启 Docker 服务以确保新的设置被应用:
sudo systemctl restart docker
这样操作之后,再次运行 docker info 应该不会看到之前的警告信息。如果还有问题,可以检查是否所有相关的内核模块都已正确加载。
二.docker run hello-world时报错
Unable to find image 'hello-world:latest' locally docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": read tcp 192.168.30.91:51536->44.208.254.194:443: read: connection reset by peer.
这个错误表明Docker客户端尝试访问Docker Hub或其他Docker注册中心时出现了问题。具体来说,是在尝试获取注册中心API的响应时遇到了错误。可能的原因包括网络问题、认证问题、注册中心URL不正确或者注册中心服务本身不可用。
解决方法
systemctl status docker sudo mkdir -p /etc/docker vim /etc/docker/daemon.json
添加:
{
"registry-mirrors" : ["https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://dockerproxy.com",
"https://gst6rzl9.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"http://mirrors.ustc.edu.cn/",
"https://mirrors.tuna.tsinghua.edu.cn/",
"http://mirrors.sohu.com/"
],
"insecure-registries" : [
"registry.docker-cn.com",
"docker.mirrors.ustc.edu.cn"
],
"debug": true,
"experimental": false
}
重载和重启dockers服务
sudo systemctl daemon-reload sudo systemctl restart docker docker info
重新执行
docker run hello-world
更多推荐
所有评论(0)