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
Nginx进程管理和重载原理详解
Apr 22 Servers
apache基于端口创建虚拟主机的示例
Apr 24 Servers
Nginx实现高可用集群构建(Keepalived+Haproxy+Nginx)
May 27 Servers
nginx内存池源码解析
Nov 20 Servers
Nginx中使用Lua脚本与图片的缩略图处理的实现
Mar 18 Servers
阿里云日志过滤器配置日志服务
Apr 09 Servers
idea下配置tomcat避坑详解
Apr 12 Servers
Linux中如何安装并部署Redis
Apr 18 Servers
openstack云计算keystone组件工作介绍
Apr 20 Servers
Nginx限流和黑名单配置
May 20 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字符串 ==比较运算符的副作用
2009/10/21 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
JS随即打乱数组实现代码
2012/12/03 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
jQuery分别获取选中的复选框值的示例
2014/06/17 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
Vue-cli assets SubDirectory及PublicPath区别详解
2020/08/18 Javascript
vue实现移动端拖动排序
2020/08/21 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
Python装饰器decorator用法实例
2014/11/10 Python
Python实现遍历windows所有窗口并输出窗口标题的方法
2015/03/13 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
python通过实例讲解反射机制
2019/10/17 Python
python_mask_array的用法
2020/02/18 Python
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
大学生表扬信范文
2014/01/09 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
2014年行政工作总结
2014/11/19 职场文书
python爬不同图片分别保存在不同文件夹中的实现
2021/04/02 Python