yum部署
(1)配置docker-ce的软件源(也称为"存储库")
添加docker-ce的软件源
yum -y install yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(2)安装Docker Engine和容器
yum -y install docker-ce docker-ce-cli containerd.io
(3)启动docker守护进程并设置开机自启动
systemctl start docker
systemctl enable docker
(4)dockers命令自动补全
安装相关依赖包
yum -y install bash-completion
source /usr/share/bash-completion/bash_completion
(5)开启包的转发功能和修改内核参数
如果不开启docker可能会报如下错误:
Docker 安装后出现:WARNING:bridge-nf-call-iptables is disabled
将Linux 系统作为路由或者 VPN服务就必须要开启IP转发功能。当linux主机有多个网卡时一个网卡收到的信息是否能够传递给其他的网卡,如果设置成1的话可以进行数据包转发,可以实现VxLAN等功能。不开启会导致docker部署应用无法访问。
开启:
modprobe br_netfilter
cat > /etc/sysctl.d/docker.conf <<EOF
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.ip_forward=1
EOF
sysctl -p /etc/sysctl.d/docker.conf
使内核参数生效
lsmod |grep br_netfilter
开机自动加载:
在/etc/新建rc.sysinit 文件←
vim /etc/rc.sysinite
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules;do
[ -x $file ]&& $file
done
在/etc/sysconfig/modules/日录下新建文件如下
vim /etc/sysconfig/modules/br_netfilter.modules
modprobe br_netfilter
增加权限←
chown 777 /etc/sysconfig/modules/br_netfilter.modules
(6)重启docker
systemctl restart docker
(7)配置镜像加速器
cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://fnlfjyj9.mirror.aliyuncs.com"]
}
systemctl restart docker
更多的镜像加速器:
"registry-mirrors": [ "https://h8kdbqe6.mirror.aliyuncs.com", "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" ]
二进制部署
获取二进制文件,此文件中包含dockerd与docker 2个文件。
wget http://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz
解压下载的文件
tar -xf docker-20.10.9.tgz
查看解压出的目录
ls docker
containerd containerd-shim-runc-v2 docker docker-init runc
containerd-shim ctr dockerd docker-proxy
安装解压后的所有二进制文件
cp docker/* /usr/bin/
运行Daemon
dockerd &
会有大量的信息输出,停止后,直接回车即可使用。
如果您需要使用其他选项启动守护程序,请相应地修改上述命令或创建并编辑文件/etc/docker/daemon.json
以添加自定义配置选项。
确认是否可以使用docker客户端命令
which docker
/usr/bin/docker
使用二进制安装的docker客户端
# docker version
Client:
Version: 20.10.9
API version: 1.41
Go version: go1.16.8
Git commit: c2ea9bc
Built: Mon Oct 4 16:03:22 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.9
API version: 1.41 (minimum version 1.12)
Go version: go1.16.8
Git commit: 79ea9d3
Built: Mon Oct 4 16:07:30 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.4.11
GitCommit: 5b46e404f6b9f661a205e28d59c982d3634148f8
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2d
docker-init:
Version: 0.19.0
GitCommit: de40ad0