一、安装Docker
1.自带源安装
centos没有epel源,需要先下载epel源,然后再下载Docker。这样下载Docker的缺点是不能下载指定版本。
可以查看你下载Docker的版本
2.docker版本和官方源安装
1.删除已安装的Docker
2.先下载Docker的依赖包
3.配置阿里云Docker Yum源
这是一个yum-config-manager命令,用于添加一个新的yum软件源到你的系统中。
具体地,这个命令会向你的系统添加一个名为docker-ce.repo的yum仓库配置文件,该文件位于http://mirrors.aliyun.com/docker-ce/linux/centos/地址上。
通过添加这个yum仓库,你可以使用yum命令来安装和更新Docker CE(社区版)软件包。
请注意,使用这个命令之前,你需要确保你的系统已经安装了yum-utils软件包,因为yum-config-manager命令属于yum-utils工具包的一部分。
运行这个命令后,你可以使用yum命令来安装Docker CE,例如:
yum install docker-ce
。
4.查看Docker版本
5.安装
# yum install docker-ce-18.03.0.ce -y 安装指定版本
或者
# yum install docker-ce -y
6.启动
开机启动并立即启动
systemctl enable docker --now
二、报错
1.查看docker运行状态的错误
docker info
报错1:
docker info的时候报如下错误
bridge-nf-call-iptables is disabled解决办法:
解决1:
追加如下配置,然后重启系统
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1这些配置是用于启用在Linux桥接网络中调用iptables和arptables的功能。
net.bridge.bridge-nf-call-ip6tables = 1
:启用在桥接网络中调用ip6tables进行IPv6网络包的过滤和转发。net.bridge.bridge-nf-call-iptables = 1
:启用在桥接网络中调用iptables进行IPv4网络包的过滤和转发。net.bridge.bridge-nf-call-arptables = 1
:启用在桥接网络中调用arptables进行ARP网络包的过滤和转发。iptables和arptables是Linux系统中用于网络包过滤和转发的工具。通过启用上述参数,可以确保在桥接网络中的网络流量经过iptables和arptables进行适当的处理和控制。
这些配置对于容器化环境特别有用,因为容器通常运行在桥接网络中,启用这些参数可以确保容器之间的通信以及容器与主机之间的通信能够受到iptables和arptables的保护和管理,从而增强网络的安全性和稳定性。
当"bridge-nf-call-iptables"被禁用时,类似于在网络交通中没有交警指挥的情况。它是一个内核参数,用于允许在桥接网络中使用iptables进行网络包的过滤和转发。
禁用该参数可能会导致一些网络功能无法正常工作,例如容器之间的通信或容器与主机之间的通信。这是因为iptables是一个强大的工具,可以帮助我们控制网络流量,设置规则以保护网络的安全性和稳定性。
要启用该参数,就像给交通路口安排交警一样,我们需要告诉系统允许iptables在桥接网络中工作。通过执行一些命令,我们可以启用该参数,并确保它在系统重启后仍然生效。
总之,启用"bridge-nf-call-iptables"参数可以确保网络流量得到适当的管理和处理,以保证网络的正常运行和安全性。
三、阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://pilvpemn.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
-
"registry-mirrors": ["https://pilvpemn.mirror.aliyuncs.com"]
- 这个配置项指定了Docker镜像的镜像仓库地址。使用镜像仓库可以提高下载镜像的速度,这里指定的镜像仓库是阿里云的镜像仓库。
-
"exec-opts": ["native.cgroupdriver=systemd"]
- 这个配置项指定了Docker使用的cgroup驱动程序。cgroup是Linux内核提供的一种资源管理机制,这里指定的驱动程序是systemd。
-
"log-driver": "json-file"
- 这个配置项指定了Docker容器的日志驱动程序。这里指定的是使用json-file作为日志驱动程序,将容器的日志输出到文件中。
-
"log-opts": {"max-size": "100m"}
- 这个配置项指定了日志驱动程序的一些选项。这里指定了日志文件的最大大小为100MB,超过这个大小后会自动切割日志文件。
-
"storage-driver": "overlay2"
- 这个配置项指定了Docker使用的存储驱动程序。存储驱动程序负责管理Docker镜像和容器的存储。这里指定的是使用overlay2作为存储驱动程序。