详解docker 制作mysql镜像并自动安装脚本

 更新时间:2022年05月20日 15:59:47   作者:tangshow  
这篇文章主要介绍了docker mysql镜像制作并自动安装脚本,主要包括centos7环境下 一键制作mysql docker镜像并安装,对docker 制作mysql镜像shell脚本感兴趣的朋友一起看看吧

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镜像并自动安装脚本的文章就介绍到这了,更多相关docker 制作mysql镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在Docker容器中不需要运行sshd的原因浅析

    在Docker容器中不需要运行sshd的原因浅析

    在一个容器中运行SSH服务器,这真的是一个错误(大写字母W)吗?老实说,没那么严重。当你不去访问Docker主机的时候,这样做甚至是极其方便的,但是这仍然需要在容器中取得一个shell
    2016-11-11
  • Mac M1 Docker如何运行nacos2.0.3(若依微服务框架)

    Mac M1 Docker如何运行nacos2.0.3(若依微服务框架)

    这篇文章主要介绍了Mac M1 Docker如何运行nacos2.0.3(若依微服务框架),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 在Idea中使用Docker部署SpringBoot项目的详细步骤

    在Idea中使用Docker部署SpringBoot项目的详细步骤

    这篇文章主要介绍了在Idea中使用Docker部署SpringBoot项目的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Docker构建Java镜像并部署Java项目的完整步骤

    Docker构建Java镜像并部署Java项目的完整步骤

    这篇文章主要给大家介绍了关于Docker构建Java镜像并部署Java项目的完整步骤,Docker是一种容器化技术,可以帮助开发者轻松打包应用程序和依赖项,并在任何地方运行它们,需要的朋友可以参考下
    2023-10-10
  • Docker-Compose实现Mysql主从的示例代码

    Docker-Compose实现Mysql主从的示例代码

    本文主要介绍了Docker-Compose实现Mysql主从的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Docker容器数据卷的基本操作

    Docker容器数据卷的基本操作

    为了能保存数据在docker中我们使用卷,本文主要介绍了Docker容器数据卷的基本操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • MAC下安装docker教程

    MAC下安装docker教程

    Docker是当下十分火的一项技术,Docker使用了Linux-specific内核特定,所以在Mac OS X无法直接本地运行。但是可以通过安装Boot2Docker application实现。Boot2Docker包含了Virtual Box VM,Docker和Boot2Docker管理工具。
    2016-02-02
  • Docker数据存储之Bind mounts详解

    Docker数据存储之Bind mounts详解

    今天小编就为大家分享一篇关于Docker数据存储之Bind mounts详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Docker上传镜像至私有仓库的方法示例

    Docker上传镜像至私有仓库的方法示例

    这篇文章主要介绍了Docker上传镜像至私有仓库的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • 使用docker-compose部署mysql的完整步骤

    使用docker-compose部署mysql的完整步骤

    Compose是用于定义和运行多容器Docker应用程序的工具,通过Compose可以使用YAML文件来配置应用程序的服务,下面这篇文章主要给大家介绍了关于使用docker-compose部署mysql的相关资料,需要的朋友可以参考下
    2022-08-08

最新评论