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 location优先级的深入讲解
Mar 31 Servers
图文详解Nginx版本平滑升级方案
Sep 15 Servers
详解nginx location指令
Jan 18 Servers
nginx中封禁ip和允许内网ip访问的实现示例
Mar 17 Servers
Tomcat starup.bat 脚本实现开机自启动
Apr 20 Servers
Windows Server 2012 R2 磁盘分区教程
Apr 29 Servers
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
Apr 29 Servers
windows server2008 开启端口的实现方法
Jun 25 Servers
nginx之queue的具体使用
Jun 28 Servers
GPU服务器的多用户配置方法
Jul 07 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
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
php+mysql数据库查询实例
2015/01/21 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
在 IE 中调用 javascript 打开 Excel 表
2006/12/21 Javascript
jquery中.add()的使用分析
2013/04/26 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
jQuery中选择器的基础使用教程
2016/05/23 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
浅析从vue源码看观察者模式
2018/01/29 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
python实现的一个p2p文件传输实例
2014/06/04 Python
Python中无限元素列表的实现方法
2014/08/18 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
python使用udp实现聊天器功能
2018/12/10 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
布里斯班女装时尚品牌:Adrift
2017/12/28 全球购物
外语专业毕业生个人的自荐信
2013/11/19 职场文书
学校安全管理责任书
2014/07/23 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
党员个人总结自评
2015/02/14 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
病房管理制度范本
2015/08/06 职场文书
丧事答谢词大全
2015/09/30 职场文书
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python