docker部署
1、初始化docker环境
配置主机名
hostnamectl set-hostname docker && bash
关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
注:修改selinux
配置文件之后,重启机器,selinux
才能永久生效
getenforce
配置时间同步
yum install -y ntp ntpdate
ntpdate cn.pool.ntp.org
编写计划任务
crontab -e
* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
#重启crond 使配置生效
systemctl restart crond
2、安装docker
安装基础软件包
yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntr yum-utils
配置docker阿里yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker依赖包
yum install -y device-mapper-persistent-data lvm2
安装docker-ce
yum install docker-ce -y
启动docker
systemctl start docker && systemctl enable docker
# 查看docker状态
systemctl status docker
查看docker版本
docker version
2.1、开启IP转发功能和修改内核参数
2.1.1、内核参数修改
br_netfilter
模块用于将桥接流量转发至iptables链
,br_netfilter
内核参数需要开启转发。
modprobe br_netfilter
重启后模块失效,配置开机自动加载模块的脚本
在/etc/新建rc.sysinit
文件
vim /etc/rc.sysinit
#!/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
授权
chmod 755 /etc/sysconfig/modules/br_netfilter.modules
重启机器模块也会自动加载
lsmod |grep br_netfilter
# 回显以下内容即为加载成功
br_netfilter 22209 0
bridge 136173 1 br_netfilter
2.1.2、开启IP转发功能
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
将Linux系统作为路由或者VPN服务
就必须要开启IP转发功能。当linux主机有多个网卡时一个网卡收到的信息是否能够传递给其他的网卡 ,如果设置成1 的话 可以进行数据包转发,可以实现VxLAN 等功能。不开启会导致docker部署应用无法访问。
重启docker使以上配置生效
systemctl restart docker
2.2、配置docker镜像加速器
登陆阿里云镜像仓库获取加速器地址
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://671vvbx6.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
作者:wiki 创建时间:2024-07-19 21:41
最后编辑:wiki 更新时间:2024-08-13 10:12
最后编辑:wiki 更新时间:2024-08-13 10:12