docker 制作mysql镜像并自动安装


Posted in Servers onMay 20, 2022

centos7环境下 一键制作mysql docker镜像,并安装

centos7环境下 一键制作mysql docker镜像,并安装

shell脚本内容如下:

#docker自动安装mysql
echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 默认安装参数: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
echo -e "\033[32m '端口:3309' \033[0m"
echo -e "\033[32m '映射宿主机路径: /mysql' \033[0m"
echo -e "\033[32m '密码:xxxxxx' \033[0m"
echo -e "\033[32m '容器名称:mysql8' \033[0m"
echo -e "\033[32m '开启binlog' \033[0m"
echo -e "\033[32m '设置连接数1k' \033[0m"
echo -e "\033[32m '设置连接超时断开24h' \033[0m"
echo -e "\033[32m '设置使用4个cpu核心' \033[0m"
mkdir -p /mysql
### 1下载镜像
docker pull mysql
if [ $? -eq 0 ]
    then 
        echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1下载镜像 finish >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
    else 
        echo -e "\033[31m '__________________________________  1下载镜像 bad ,and EXIT' \033[0m"
        exit 1
fi
###______________________________________________________________________________________________________
### 创建 dockerfile
rm -rf ./mymysql.yaml
echo '### dockerfile 自定义mysql容器镜像' >> ./mymysql.yaml
echo 'FROM mysql:latest' >> ./mymysql.yaml
echo '#使用官方mysql镜像最新版' >> ./mymysql.yaml
echo '' >> ./mymysql.yaml
echo 'RUN echo "###" >> /etc/mysql/my.cnf' >> ./mymysql.yaml
echo '' >> ./mymysql.yaml
echo 'RUN echo "log_bin = 1" >> /etc/mysql/my.cnf' >> ./mymysql.yaml
echo '#开启binlog日志,存储在默认位置' >> ./mymysql.yaml
echo '' >> ./mymysql.yaml
echo 'RUN echo "max_connections = 1050" >> /etc/mysql/my.cnf' >> ./mymysql.yaml
echo 'RUN echo "mysqlx_max_connections = 1000" >> /etc/mysql/my.cnf' >> ./mymysql.yaml
echo '#最大连接数' >> ./mymysql.yaml
echo '' >> ./mymysql.yaml
echo 'RUN echo "wait_timeout=86400" >> /etc/mysql/my.cnf' >> ./mymysql.yaml
echo 'RUN echo "interactive_timeout=86400" >> /etc/mysql/my.cnf' >> ./mymysql.yaml
echo '#空闲断开时长,秒' >> ./mymysql.yaml
echo '' >> ./mymysql.yaml
echo 'RUN echo "innodb_read_io_threads=4" >> /etc/mysql/my.cnf' >> ./mymysql.yaml
echo 'RUN echo "innodb_write_io_threads=4" >> /etc/mysql/my.cnf' >> ./mymysql.yaml
echo '#设置使用多核cpu,默认使用4核,根据cpu核心数设置' >> ./mymysql.yaml
###______________________________________________________________________________________________________
###使用mymysql.yaml构建镜像mymysql:1
docker build -f ./mymysql.yaml -t "mymysql:1" .
if [ $? -eq 0 ]
    then 
        echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mymysql:1 镜像构建成功 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
    else 
        echo -e "\033[31m '__________________________________  mymysql:1 镜像构建失败,and EXIT' \033[0m"
        exit 1
fi
### 2创建容器
docker create -p 3309:3306 --restart=always --name mysql8 -v /mysql/mysql_08/log:/var/log/mysql -v /mysql/mysql_08/data:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=xxxxx -it  mymysql:1
if [ $? -eq 0 ]
    then 
        echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  2创建容器 finish >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
    else 
        echo -e "\033[31m '__________________________________  2创建容器 bad ,and EXIT' \033[0m"
        exit 1
fi
### 3启动容器
docker start mysql8
if [ $? -eq 0 ]
    then 
        echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3启动容器 finish >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
    else 
        echo -e "\033[31m '__________________________________  3启动容器 bad ,and EXIT' \033[0m"
        exit 1
fi
### 显示容器状态
echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 显示已运行容器:' \033[0m"
docker ps

到此这篇关于docker 制作mysql镜像并自动安装脚本的文章就介绍到这了!


Tags in this post...

Servers 相关文章推荐
Nginx配置SSL证书出错解决方案
Mar 31 Servers
nginx反向代理时如何保持长连接
Mar 31 Servers
Nginx四层负载均衡的配置指南
Jun 11 Servers
Nginx虚拟主机的搭建的实现步骤
Jan 18 Servers
Minikube搭建Kubernetes集群
Mar 31 Servers
CentOS下安装Jenkins的完整步骤
Apr 07 Servers
openstack云计算keystone组件工作介绍
Apr 20 Servers
Windows Server 2012 R2 磁盘分区教程
Apr 29 Servers
搭建Yolov5服务器
Apr 30 Servers
使用Apache Camel表达REST服务的方法
Jun 10 Servers
安装harbor作为docker镜像仓库的问题
Jun 14 Servers
阿里云服务器Ubuntu 20.04上安装Odoo 15
May 20 #Servers
Apache SeaTunnel实现 非CDC数据抽取
May 20 #Servers
apache ftpserver搭建ftp服务器
May 20 #Servers
服务器间如何实现文件共享
May 20 #Servers
Nginx限流和黑名单配置
May 20 #Servers
Nginx利用Logrotate实现日志分割
May 20 #Servers
nginx lua 操作 mysql
May 15 #Servers
You might like
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
PHP获取数组最后一个值的2种方法
2015/01/21 PHP
浅析php-fpm静态和动态执行方式的比较
2016/11/09 PHP
页面版文本框智能提示JS代码
2009/11/20 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
理解javascript中的with关键字
2016/02/15 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Python文件去除注释的方法
2015/05/25 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
python 检查文件mime类型的方法
2018/12/08 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
python设置随机种子实例讲解
2019/09/12 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
python从Oracle读取数据生成图表
2020/10/14 Python
餐饮部总监岗位职责范文
2014/02/13 职场文书
实习会计求职自荐信范文
2014/03/10 职场文书
百年校庆节目主持词
2014/03/27 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书