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 负载均衡是什么以及该如何配置
Mar 31 Servers
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
May 26 Servers
nginx作grpc的反向代理踩坑总结
Jul 07 Servers
Nginx location 和 proxy_pass路径配置问题小结
Sep 04 Servers
解决使用了nginx获取IP地址都是127.0.0.1 的问题
Sep 25 Servers
Windows Server 2016 配置 IIS 的详细步骤
Apr 28 Servers
Nginx 安装SSL证书完成HTTPS部署
Apr 28 Servers
tomcat默认最大连接数及相关调整方法
May 06 Servers
超越Nginx的Web服务器caddy优雅用法
Jun 21 Servers
Apache自带的ab压力测试工具的实现
Jul 23 Servers
Windows7下FTP搭建图文教程
Aug 05 Servers
Centos7 Shell编程之正则表达式、文本处理工具详解
Aug 05 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
第二节 对象模型 [2]
2006/10/09 PHP
BBS(php & mysql)完整版(四)
2006/10/09 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
javascript合并表格单元格实例代码
2016/01/03 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
基于jQuery实现的设置文本区域的光标位置
2018/06/15 jQuery
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
node链接mongodb数据库的方法详解【阿里云服务器环境ubuntu】
2019/03/07 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
Vertx基于EventBus发送接受自定义对象
2020/11/16 Javascript
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
Python单链表原理与实现方法详解
2020/02/22 Python
GDAL 矢量属性数据修改方式(python)
2020/03/10 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
洛杉矶生活休闲而精致的基础品牌:Mika Jaymes
2018/01/07 全球购物
LEGO玩具英国官方商店:LEGO Shop GB
2018/03/27 全球购物
造型师求职自荐信
2013/09/27 职场文书
技术总监岗位职责
2013/12/05 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
新郎新娘答谢词
2015/01/04 职场文书
税务会计岗位职责
2015/04/02 职场文书
小学六一儿童节活动总结
2015/05/05 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
Python编写nmap扫描工具
2021/07/21 Python