服务器脚本推荐,yum更新阿里镜像源、安装Docker、使用Docker安装MySQL服务

前言

最近总是有粉丝找莫提帮忙搭建一下服务器的环境,而且都是新服务器,也就是刚刚从 XX云 上购买创建的。最近打算多做一些关于服务器的视频,比如搭建个人网站搭建Java服务搭建MySQL服务配置反向代理 …

然后周末无聊,就写了三个脚本,非常的方便实用,只需要一行命令就可以实现下面的功能,但服务器一定要是CentOS7的系统才能使用。

  1. 更换yum源为阿里源,解决yum安装/更新速度慢的问题
  2. 安装Docker并配置镜像加速器
  3. 使用Docker安装MySQL

使用

获取脚本可在我的公众号【爱学习的莫提】,后台回复【脚本

之后你会得到三个文件,如下图所示:

之后你需要将这三个文件上传的服务器(一定是CentOS7

注意:上传服务器之后需要赋予脚本执行权限:

chmod -R 777 *.sh

之后只需要分别执行三个脚本就可以了

./ali-image.sh
./docker-install.sh
./mysql-install.sh

当然这几个脚本也是可以加一些参数的,具体使用可以往下接着看。

当然在这里声明一下:鄙人能力有限,也没有专门学过Shell脚本,互相学习,欢迎大家在评论区交流!

ali-image.sh

官网下载的CentOS的yum源不是国内镜像,这样会导致yum在线安装及更新速度很慢。这时候需要将yum源设置为国内镜像站点,提升速度。国内主要开源的开源镜像站点应该是网易和阿里云了。

这个脚本可以帮你把你的服务器的yum镜像源自动配置为国内阿里的镜像,并完成原有配置的备份。

使用起来也是非常方便,在脚本所在目录执行:./ali-image.sh 即可。

执行效果

脚本内容

如果看不懂脚本可以直接跳过

#!/bin/bash

# description: 更换Centos7默认镜像源为阿里源
# author: 莫提

cd /etc/yum.repos.d/

# 备份原配置
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 下载阿里镜像配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

echo " "
echo "=================="
echo "更换阿里镜像源成功"
echo "=================="
echo " "

# 重新生成缓存
yum makecache

docker-install.sh

在服务器上安装Docker还是稍微有一丢丢麻烦,首先要安装一些基本的依赖,如果重新安装还需要卸载和删除一些指定的文件,如果不配置镜像加速器的话,使用docker pull也会非常的慢,包括将Docker设置为开启自启等。这些复杂的操作加一起就更加的繁琐了。

所以我写了一个脚本来拯救上面的这些问题,只需要执行一行命令就可以完成上面的诸多操作。

使用起来也是非常方便,在脚本所在目录执行:./docker-install.sh 即可。

如果你之前安装过Docker,那么你需要在执行脚本的使用使用-r参数即可:./docker-install.sh -r,这样在安装的时候就可先去卸载已有的Docker并重新安装。

执行效果

脚本内容

如果看不懂脚本可以直接跳过

#!/bin/bash

# description: CentOS7安装Docker
# author: 莫提

# 卸载旧版本

if [ -n "$1" ]; then
   # 校验传入参数 
    if [ "$1" = "-r" ]
    then
	echo "开始卸载已有Docker服务..."
	systemctl stop docker
	yum -y remove docker-ce
	rm -rf /var/lib/docker
	yum -y remove docker docker-common docker-selinux docker-engine
    else
       	echo " "
	echo "=================================="
	echo "=============安装失败============="
	echo "=================================="
	echo "非法参数:$1"
	echo "=================================="
	echo "首次安装:./docker-install.sh"
	echo "重新安装:./docker-install.sh -r"
	echo "=================================="
	echo " "
    fi
fi

echo "开始安装Docker服务..."

# 安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
# 设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件索引
yum makecache fast
# 安装Docker-ce
yum -y install docker-ce
# 启动Docker
systemctl start docker
# 开机自启
systemctl enable docker
# 配置Docker镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://c2yf9ia3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

echo " "
echo "=================================="
echo "=============安装成功============="
echo "=================================="
echo " "

docker ps

mysql-install.sh

最后一个脚本是使用Docker来搭建MySQL服务,一般来说常规套路是先去search、然后pull、最后再run,但是run的时候要加一大堆参数,非常的不好记,所以我也封装成了脚本,使用起来美滋滋。

这个脚本支持最多携带三个参数:

  • -v:小写v,表示MySQL的版本,比如 5.75.58.0 … 只要是官方存在的版本都行,如果不加这个参数,默认为 5.7
  • -p:小写p,表示暴露的端口,如果不加这个参数,默认为 3306
  • -P:大写P,表示MySQL的root用户的默认密码,如果不加这个参数,默认为 123456

这三个参数可以携带任意数量,并且不分先后顺序。

./mysql-install.sh -v5.5 -p3305 -P123321

./mysql-install.sh -p3305 -v5.5 

./mysql-install.sh -P000111

执行效果

脚本内容

如果看不懂脚本可以直接跳过

#!/bin/bash

# description: 使用Docker安装Mysql5.7
# author: 莫提

version=5.7
password=123456
port=3306

if [[ $1 == -v* ]];then
	version=${1:2}
elif [[ $1 == -P* ]];then
	password=${1:2}
elif [[ $1 == -p* ]];then
	port=${1:2}
fi

if [[ $2 == -v* ]];then
	version=${2:2}
elif [[ $2 == -P* ]];then
	password=${2:2}
elif [[ $2 == -p* ]];then
	port=${2:2}
fi

if [[ $3 == -v* ]];then
	version=${3:2}
elif [[ $3 == -P* ]];then
	password=${3:2}
elif [[ $3 == -p* ]];then
	port=${3:2}
fi

echo " "
echo "============================"
echo "=======开始安装MySQL========"
echo "============================"
echo "Version:$version"
echo "Password:$password"
echo "Port:$port"
echo "============================"
echo " "

# 拉去镜像
docker pull mysql:$version

# 运行镜像
docker run --restart=always -p $port:3306 --name mysql$version -e MYSQL_ROOT_PASSWORD=$password -d mysql:$version

echo "============================"
echo "=======安装MySQL成功========"
echo "============================"

docker ps
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装dockerCentOS安装docker,可以使用以下命令: ``` sudo yum install -y docker ``` 2. 下载mysql5.7 可以从mysql官网上下载mysql5.7的安装包,下载完成后将其解压到任意目录,例如 /opt/mysql。 3. 创建Dockerfile文件 在任意目录下创建 Dockerfile 文件,并编辑以下内容: ``` FROM centos:latest MAINTAINER Your Name <yourname@example.com> # 安装mysql依赖包 RUN yum -y install libaio # 复制mysql安装包到容器中 ADD /opt/mysql /opt/mysql # 配置mysql环境变量 ENV MYSQL_HOME /opt/mysql ENV PATH $MYSQL_HOME/bin:$PATH # 创建mysql用户 RUN groupadd mysql RUN useradd -g mysql mysql # 修改mysql安装包权限 RUN chown -R mysql:mysql $MYSQL_HOME RUN chmod -R 755 $MYSQL_HOME # 初始化mysql RUN $MYSQL_HOME/scripts/mysql_install_db --user=mysql # 设置启动脚本 ADD /opt/mysql/support-files/mysql.server /etc/init.d/mysqld RUN chmod +x /etc/init.d/mysqld # 设置容器启动时自动启动mysql RUN chkconfig mysqld on # 设置mysql默认编码为utf8 RUN echo "character-set-server=utf8" >> /etc/my.cnf # 暴露mysql默认端口 EXPOSE 3306 # 启动命令 CMD service mysqld start && tail -f /dev/null ``` 4. 构建docker镜像 在Dockerfile文件所在目录下,执行以下命令: ``` sudo docker build -t mysql5.7 . ``` 其中,mysql5.7是镜像名称,可以根据需要自行修改。 5. 运行docker容器 在运行docker容器之前,需要先创建一个数据卷,用于持久化mysql数据。可以执行以下命令创建数据卷: ``` sudo docker volume create mysql_data ``` 创建数据卷后,可以执行以下命令运行docker容器: ``` sudo docker run -d --name mysql -p 3306:3306 -v mysql_data:/var/lib/mysql mysql5.7 ``` 其中,mysql是容器名称,可以根据需要自行修改。-p参数用于映射容器内部的3306端口到主机的3306端口,-v参数用于挂载数据卷。 至此,基于centos封装mysql5.7的docker镜像就已经完成了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值