CentOS7 Docker安装脚本

有时候需要在服务器上部署Docker,每次都要执行很多命令,现在整理为一个脚本,可以放到shell文件中,方便安装Docker。
假设docker的文件目录为/data/kube/docker

#!/bin/bash
echo 更新阿里yum源
cd /etc/yum.repos.d/ 
mv CentOS-Base.repo CentOS-Base.repo_bak
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
echo 更新yum源
yum makecache all
echo 添加yum工具
yum install -y yum-utils
echo 添加docker的yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
echo 添加用户
adduser dockeradm
echo 为新用户设置密码
passwd dockeradm

echo 为新用户添加sudo权限
echo 'dockeradm ALL=(ALL)       ALL' >> /etc/sudoers
echo 删除之前安装的docker(可选)
sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine container*
echo 安装必要的一些系统工具
yum install -y device-mapper-persistent-data lvm2 bash-completion
echo 更新并安装 Docker-CE
version=20.10.3
sudo yum -y install --setopt=obsoletes=0 docker-ce-${version} docker-ce-selinux-${version}
echo 把dockeradm用户加入docker组,就可以使用dockeradm操作docker了。有privileges权限
usermod -aG docker dockeradm
echo 设置开机启动
systemctl enable docker
echo 创建 /etc/docker/daemon.json
mkdir /etc/docker
cat>/etc/docker/daemon.json<<EOF
{
  "registry-mirrors": ["https://reg-mirror.qiniu.com","https://hub-mirror.c.163.com"],
  "insecure-registries": [],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "100m",
    "max-file": "100"
    },
  "data-root": "/data/kube/docker",
  "exec-opts": ["native.cgroupdriver=cgroupfs"],
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF
echo 启动docker
systemctl start docker

以上文件可以保存成installDocker.sh
在命令行下执行:

vi installDocker.sh
(粘贴上面的代码)
:wq(保存)
# 在root用户下执行
sh installDocker.sh

即可。

以下是新系统初始化可能用到的配置命令,也记录一下:

echo 关闭selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
echo 关闭防火墙
systemctl stop firewalld.service && systemctl disable firewalld.service
echo 调整时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
sudo echo 'LANG="en_US.UTF-8"' >> /etc/profile;source /etc/profile
echo 优化内核参数
cat >> /etc/sysctl.conf<<EOF
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
EOF
sysctl -p
echo 添加在线时间同步服务
yum -y install ntp
systemctl start ntpd
systemctl enable ntpd
# 修改hostname, 去掉注释
# echo "server01" > /etc/hostname 
# hostname server01

你可能感兴趣的:(运维,docker,容器,运维,CentOS)