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 反向代理之 proxy_pass的实现
Mar 31 Servers
Nginx本地目录映射实现代码实例
Mar 31 Servers
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
Apr 04 Servers
nginx共享内存的机制详解
Mar 21 Servers
如何通过cmd 连接阿里云服务器
Apr 18 Servers
Windows Server 2019 配置远程控制以及管理方法
Apr 28 Servers
Windows Server 2012配置DNS服务器的方法
Apr 29 Servers
Windows Server 修改远程桌面端口的实现
Jun 25 Servers
Docker与K8s关系介绍不会Docker也可以使用K8s
Jun 25 Servers
windows server2008 开启端口的实现方法
Jun 25 Servers
windows系统搭建WEB服务器详细教程
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
再次研究下cache_lite
2007/02/14 PHP
ThinkPHP的截取字符串函数无法显示省略号的解决方法
2014/06/25 PHP
jquery+thinkphp实现跨域抓取数据的方法
2016/10/15 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
小程序实现多选框功能
2018/10/30 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
vue-以文件流-blob-的形式-下载-导出文件操作
2020/08/07 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
python操作MySQL数据库具体方法
2013/10/28 Python
python创建线程示例
2014/05/06 Python
python初学之用户登录的实现过程(实例讲解)
2017/12/23 Python
django1.11.1 models 数据库同步方法
2018/05/30 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
Python中print和return的作用及区别解析
2019/05/05 Python
Python编程中类与类的关系详解
2019/08/08 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
python中加背景音乐如何操作
2020/07/19 Python
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
linux比较文件内容的命令是什么
2015/09/23 面试题
细节决定成败演讲稿
2014/05/12 职场文书
门卫岗位职责
2015/02/09 职场文书
司机岗位职责范本
2015/04/10 职场文书
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers
el-form每行显示两列底部按钮居中效果的实现
2022/08/05 HTML / CSS