docker安装

服务器准备:

  主机:10.0.0.108

   操作系统:Centos7.6-centos7.9

   规格:4Gib/4vCPU

1、服务器环境准备

  配置主机名:
     [root@docker ~]# hostnamectl set-hostname docker && bash
  关闭防火墙
    [root@docker ~]# systemctl stop firewalld && systemctl disable firewalld
  关闭 iptables 防火墙
    [root@docker ~]# yum install iptables-services -y #安装 iptables
  禁用 iptables
    root@docker ~]# service iptables stop && systemctl disable iptables
  清空防火墙规则
    [root@docker~]# iptables -F
  关闭 selinux
    [root@docker ~]# setenforce 0
    [root@docker ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config
注意:修改 selinux 配置文件之后,重启机器,selinux 才能永久生效
    [root@docker ~]# getenforce
显示 Disabled 表示 selinux 关闭成功
  #配置时间同步
    [root@docker ~]# yum install -y ntp ntpdate
    [root@docker ~]# ntpdate cn.pool.ntp.org
  #编写计划任务
    [root@docker ~]# crontab -e
    * */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
  重启 crond 服务使配置生效:
    [root@docker ~]# systemctl restart crond

2、安装基础软件包

[root@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 wget vim  ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server  socat ipvsadm conntrack

3、安装 docker-ce

  配置 docker-ce 国内 yum 源(阿里云)
   [root@docker ~]# yum-config-manager --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  安装 docker 依赖包
    [root@docker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
  安装 docker-ce
    [root@docker ~]# yum install docker-ce -y
  #启动 docker 服务
    [root@docker ~]# systemctl start docker && systemctl enable docker
    [root@docker ~]# systemctl status docker
      
  看到 running,表示 docker 正常运行
  #查看 Docker 版本信息
    [root@docker ~]# docker version

4、开启包转发功能和修改内核参数

  内核参数修改:br_netfilter 模块用于将桥接流量转发至 iptables 链,br_netfilter 内核参数需要开启转发。
    [root@docker ~]# modprobe br_netfilter
    [root@docker ~]# 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
  #使参数生效
    [root@docker ~]# sysctl -p /etc/sysctl.d/docker.conf
  重启后模块失效,下面是开机自动加载模块的脚本,在/etc/新建 rc.sysinit 文件
    cat /etc/rc.sysinit
    #!/bin/bash
    for file in /etc/sysconfig/modules/*.modules ; do
    [ -x $file ] && $file
    done 
  在/etc/sysconfig/modules/目录下新建文件如下
    cat /etc/sysconfig/modules/br_netfilter.modules
    modprobe br_netfilter
  增加权限
    [root@docker ~]# chmod 755 /etc/sysconfig/modules/br_netfilter.modules
  重启机器模块也会自动加载
    [root@docker ~]# lsmod |grep br_netfilter
    br_netfilter 22209 0
    bridge 136173 1 br_netfilter
注:
  Docker 安装后出现:WARNING: bridge-nf-call-iptables is disabled 的解决办法:
  net.bridge.bridge-nf-call-ip6tables = 1
  net.bridge.bridge-nf-call-iptables = 1
  net.ipv4.ip_forward = 1:
将 Linux 系统作为路由或者 VPN 服务就必须要开启 IP 转发功能。当 linux 主机有多个网卡时一个网卡收到的信息是否能够传递给其他的网卡 ,如果设置成 1 的话 可以进行数据包转发,可以实现 VxLAN 等功能。不开启会导致 docker 部署应用无法访问。
  #重启 docker
    [root@docker ~]# systemctl restart docker 

5、配置 docker 镜像加速器

登陆阿里云镜像仓库
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
如果没有开通,可开通阿里云的镜像服务
找到镜像加速器,然后按照箭头方向操作修改/etc/docker/daemon.json,变成如下
{
"registry-mirrors":["https://y8y6vosv.mirror.aliyuncs.com","https://registry.docker
cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub
mirror.c.163.com"]
}
  让配置文件生效
    sudo systemctl daemon-reload
    sudo systemctl restart docker 

 

 

posted @ 2021-11-10 15:14  %小二  阅读(34)  评论(0编辑  收藏  举报