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