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 相关文章推荐
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
Jun 21 Servers
nginx前后端同域名配置的方法实现
Mar 31 Servers
nginx里的rewrite跳转的实现
Mar 31 Servers
使用goaccess分析nginx日志的详细方法
Jul 09 Servers
Rhit高效可视化Nginx日志查看工具
Nov 01 Servers
总结高并发下Nginx性能如何优化
Nov 01 Servers
解决xampp安装后Apache无法启动
Mar 21 Servers
Kubernetes中Deployment的升级与回滚
Apr 01 Servers
Linux中如何安装并部署Redis
Apr 18 Servers
Tomcat弱口令复现及利用
May 06 Servers
tomcat下部署jenkins的方法
May 06 Servers
彻底卸载VMware虚拟机的超详细步骤记录
Jul 15 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
解析CodeIgniter自定义配置文件
2013/06/18 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
浅析javascript中function 的 length 属性
2014/05/27 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
详解vue slot插槽的使用方法
2017/06/13 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
Python3.0与2.X版本的区别实例分析
2014/08/25 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
2017/07/27 Python
python如何重载模块实例解析
2018/01/25 Python
Python网络编程使用select实现socket全双工异步通信功能示例
2018/04/09 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
django admin组件使用方法详解
2019/07/19 Python
python 中的9个实用技巧,助你提高开发效率
2020/08/30 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
Python实现自动装机功能案例分析
2020/10/22 Python
HTML5之SVG 2D入门7—SVG元素的重用与引用
2013/01/30 HTML / CSS
亚历山大·王官网:Alexander Wang
2017/06/23 全球购物
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
国际商务系学生个人的自我评价
2013/11/26 职场文书
成都人事代理协议书
2014/10/25 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
毕业论文指导教师评语
2014/12/30 职场文书
优胜劣汰,强者为王——读《鲁滨逊漂流记》有感
2019/08/15 职场文书
详解Redis复制原理
2021/06/04 Redis
SQL SERVER中的流程控制语句
2022/05/25 SQL Server
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS