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

centos7环境下 一键制作mysql docker镜像,并安装

centos7环境下 一键制作mysql docker镜像,并安装

shell脚本内容如下:

#docker自动安装mysql
echo -e "3[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 默认安装参数: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' 3[0m"
echo -e "3[32m '端口:3309' 3[0m"
echo -e "3[32m '映射宿主机路径: /mysql' 3[0m"
echo -e "3[32m '密码:xxxxxx' 3[0m"
echo -e "3[32m '容器名称:mysql8' 3[0m"
echo -e "3[32m '开启binlog' 3[0m"
echo -e "3[32m '设置连接数1k' 3[0m"
echo -e "3[32m '设置连接超时断开24h' 3[0m"
echo -e "3[32m '设置使用4个cpu核心' 3[0m"
mkdir -p /mysql
### 1下载镜像
docker pull mysql
if [ $? -eq 0 ]
    then 
        echo -e "3[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1下载镜像 finish >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' 3[0m"
    else 
        echo -e "3[31m '__________________________________  1下载镜像 bad ,and exit' 3[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 "3[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mymysql:1 镜像构建成功 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' 3[0m"
    else 
        echo -e "3[31m '__________________________________  mymysql:1 镜像构建失败,and exit' 3[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 "3[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  2创建容器 finish >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' 3[0m"
    else 
        echo -e "3[31m '__________________________________  2创建容器 bad ,and exit' 3[0m"
        exit 1
fi
### 3启动容器
docker start mysql8
if [ $? -eq 0 ]
    then 
        echo -e "3[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3启动容器 finish >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' 3[0m"
    else 
        echo -e "3[31m '__________________________________  3启动容器 bad ,and exit' 3[0m"
        exit 1
fi
### 显示容器状态
echo -e "3[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 显示已运行容器:' 3[0m"
docker ps

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

(0)
上一篇 2022年7月1日
下一篇 2022年7月1日

相关推荐