首页 > 系统相关 >Linux系统初始化+安装docker

Linux系统初始化+安装docker

时间:2024-03-10 16:33:33浏览次数:27  
标签:初始化 sysctl Linux etc conf ipv6 docker net

Linux 初始化脚本

#!/bin/bash

# 在 master 节点和 worker 节点都要执行

# 安装 docker
# 参考文档如下
# https://docs.docker.com/install/linux/docker-ce/centos/ 
# https://docs.docker.com/install/linux/linux-postinstall/

# 卸载旧版本
yum remove -y docker \
docker-client \
docker-client-latest \
docker-ce-cli \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

# 设置 yum repository
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装并启动 docker
yum install -y docker-ce-19.03.11 docker-ce-cli-19.03.11 containerd.io-1.2.13

mkdir /etc/docker || true

cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["${REGISTRY_MIRROR}"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF

mkdir -p /etc/systemd/system/docker.service.d

# Restart Docker
systemctl daemon-reload
systemctl enable docker
systemctl restart docker

# 安装 nfs-utils
# 必须先安装 nfs-utils 才能挂载 nfs 网络存储
# yum install -y nfs-utils
yum install -y wget

# 关闭 防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭 SeLinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

# 关闭 swap
# swapoff -a
# yes | cp /etc/fstab /etc/fstab_bak
# cat /etc/fstab_bak |grep -v swap > /etc/fstab

# 修改 /etc/sysctl.conf
# 如果有配置,则修改
sed -i "s#^net.ipv4.ip_forward.*#net.ipv4.ip_forward=1#g"  /etc/sysctl.conf
sed -i "s#^net.bridge.bridge-nf-call-ip6tables.*#net.bridge.bridge-nf-call-ip6tables=1#g"  /etc/sysctl.conf
sed -i "s#^net.bridge.bridge-nf-call-iptables.*#net.bridge.bridge-nf-call-iptables=1#g"  /etc/sysctl.conf
sed -i "s#^net.ipv6.conf.all.disable_ipv6.*#net.ipv6.conf.all.disable_ipv6=1#g"  /etc/sysctl.conf
sed -i "s#^net.ipv6.conf.default.disable_ipv6.*#net.ipv6.conf.default.disable_ipv6=1#g"  /etc/sysctl.conf
sed -i "s#^net.ipv6.conf.lo.disable_ipv6.*#net.ipv6.conf.lo.disable_ipv6=1#g"  /etc/sysctl.conf
sed -i "s#^net.ipv6.conf.all.forwarding.*#net.ipv6.conf.all.forwarding=1#g"  /etc/sysctl.conf
# 可能没有,追加
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding = 1"  >> /etc/sysctl.conf
# 执行命令以应用
sysctl -p

# 重启 docker
systemctl daemon-reload
systemctl restart docker

docker version

标签:初始化,sysctl,Linux,etc,conf,ipv6,docker,net
From: https://www.cnblogs.com/sddll/p/18064327

相关文章

  • Dockerfile相关
    Dockerfile相关谁什么概念Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本步骤编写Dockerfile文件---->dockerbuild命令构建镜像---->dockerrun运行新镜像构建容器实例Dockerfile内容的基础知识或约定1.每条保留字指令都是......
  • 13_Linux第一个程序HelloWorld
    Linux第一个程序HelloWorld1.什么是gcc?gcc全称(guncompilercollection)既编译套件,gcc可以支持多种计算机体系结构,比如X86,MIPI,ARM。Ubuntu默认自带gcc可以使用gcc-v命令来查看Ubuntu的gcc2.gcc基本用法gcc选项文件名举例:gcchello.c-ohello-o参数......
  • 12_Linux文件系统概念
    Linux文件系统概念1.什么是文件系统?操作系统中负责管理和存储文件系统的软件称为文件系统2.Linux为什么需要文件系统?Linxu系统必须要挂载一个文件系统,如果系统不能从指定的设备挂载,系统就会出错。3.Linux常见文件系统的类型都有哪些?ext3,ext4,proc文件系统,sysfs文件系统......
  • 11_Linux目录结构讲解
    Linux目录结构讲解1.Linux目录结构Linux整个文件系统是从/目录开始2.Linux文件层次标准为了解决不同的开发人员之间不统一的问题,文件层次标准简称FHS,全称filesystemhierarchstandardFHS定义了俩层规范:/目录下面应该要放什么文件,比如/etc下面就应该放配置文件。第二层......
  • 15_编写第一个自己的Linux的命令
    编写第一个自己的Linux的命令1.什么是命令?命令就是可执行程序。比如ls-al命令ls就是程序的名字al就是参数ps命令:功能:显示进程的动态。2.定义一个自己的命令给自己的gcc生成的可执行文件的路径添加到$PATH环境变量中,就可以在任何地方都可以使用这个可执行文件......
  • 14_Linux环境变量讲解
    Linux环境变量讲解1.什么是环境变量?概念:环境变量是系统预设置的参数。Linux是一个多用户的操作系统,所以每一个用户也都有自己的环境变量举例:比如我们之前学习的命令我们不管在哪个路径下输入,都是可以执行成功的,因为系统已经把命令的搜索路径提前设置好了2.常用变量PATH这个......
  • spring-security源码-如何初始化SecurityFilterChain到Servlet
    1.SecurityFilterChain是由HttpSecurty根据各个config配置生成的FilterSecurityFilterChain是接口,默认实现是由DefaultSecurityFilterChainSecurityFilterChain只充当描述的作用,描述哪些url走这批filterpublicfinalclassDefaultSecurityFilterChainimplementsSecurityF......
  • docker安装elasticsearch
    1.dockernetworkcreatees-net2.dockerpullelasticsearch:8.6.03.mkdir-p/usr/local/es/data/usr/local/es/config/usr/local/es/plugins4.chmod777/usr/local/es/datachmod777/usr/local/es/configchmod777/usr/local/es/plugins5.配置config/elasticsear......
  • 使用 Docker 部署 Next Terminal 轻量级堡垒机
    1)NextTerminal介绍官网:https://next-terminal.typesafe.cn/GitHub:https://github.com/dushixiang/next-terminal想必经常玩服务器的都了解过堡垒机,类似于跳板机,但与跳板机的侧重点不同。堡垒机的主要功能是控制和监控对内部网络的远程访问。它提供严格的访问控制、会话审计......
  • 在Docker中,Docker配置文件在哪里以及如何修改?
    Docker的主要配置文件通常位于Linux系统的/etc/docker/目录下,关键的配置文件是daemon.json。这个文件用于配置Docker守护进程(DockerDaemon)的各项参数,包括但不限于数据存储位置、网络设置、日志配置、信任代理等。查找和修改Docker配置文件的步骤如下:定位配置文件:Docker的......