詳解docker?制作mysql鏡像并自動(dòng)安裝腳本
centos7環(huán)境下 一鍵制作mysql docker鏡像,并安裝
centos7環(huán)境下 一鍵制作mysql docker鏡像,并安裝
shell腳本內(nèi)容如下:
#docker自動(dòng)安裝mysql
echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 默認(rèn)安裝參數(shù): >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
echo -e "\033[32m '端口:3309' \033[0m"
echo -e "\033[32m '映射宿主機(jī)路徑: /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 '設(shè)置連接數(shù)1k' \033[0m"
echo -e "\033[32m '設(shè)置連接超時(shí)斷開24h' \033[0m"
echo -e "\033[32m '設(shè)置使用4個(gè)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
###______________________________________________________________________________________________________
### 創(chuàng)建 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日志,存儲(chǔ)在默認(rèn)位置' >> ./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 '#最大連接數(shù)' >> ./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 '#空閑斷開時(shí)長,秒' >> ./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 '#設(shè)置使用多核cpu,默認(rèn)使用4核,根據(jù)cpu核心數(shù)設(shè)置' >> ./mymysql.yaml
###______________________________________________________________________________________________________
###使用mymysql.yaml構(gòu)建鏡像mymysql:1
docker build -f ./mymysql.yaml -t "mymysql:1" .
if [ $? -eq 0 ]
then
echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mymysql:1 鏡像構(gòu)建成功 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
else
echo -e "\033[31m '__________________________________ mymysql:1 鏡像構(gòu)建失敗,and EXIT' \033[0m"
exit 1
fi
### 2創(chuàng)建容器
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創(chuàng)建容器 finish >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
else
echo -e "\033[31m '__________________________________ 2創(chuàng)建容器 bad ,and EXIT' \033[0m"
exit 1
fi
### 3啟動(dòng)容器
docker start mysql8
if [ $? -eq 0 ]
then
echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3啟動(dòng)容器 finish >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' \033[0m"
else
echo -e "\033[31m '__________________________________ 3啟動(dòng)容器 bad ,and EXIT' \033[0m"
exit 1
fi
### 顯示容器狀態(tài)
echo -e "\033[32m '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 顯示已運(yùn)行容器:' \033[0m"
docker ps到此這篇關(guān)于docker 制作mysql鏡像并自動(dòng)安裝腳本的文章就介紹到這了,更多相關(guān)docker 制作mysql鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker連接mongodb實(shí)現(xiàn)過程及代碼案例
這篇文章主要介紹了Docker連接mongodb實(shí)現(xiàn)過程及代碼案例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
詳解Centos7 下建立 Docker 橋接網(wǎng)絡(luò)
本篇文章主要介紹了詳解Centos7 下建立 Docker 橋接網(wǎng)絡(luò),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
Docker容器遷移之導(dǎo)入和導(dǎo)出容器方式
這篇文章主要介紹了Docker容器遷移之導(dǎo)入和導(dǎo)出容器方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
docker?掛載MySQL實(shí)現(xiàn)數(shù)據(jù)持久化的實(shí)現(xiàn)
本文主要介紹了docker?掛載MySQL實(shí)現(xiàn)數(shù)據(jù)持久化的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
CentOS7環(huán)境下使用Docker搭建PHP運(yùn)行環(huán)境的過程詳解
這篇文章主要介紹了CentOS7環(huán)境下使用Docker搭建PHP運(yùn)行環(huán)境,文中給大家提到創(chuàng)建私有網(wǎng)絡(luò)及安裝nginx的方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
Docker數(shù)據(jù)卷掛載命令volume(-v)與mount的使用總結(jié)
本文主要介紹了Docker數(shù)據(jù)卷掛載命令volume(-v)與mount的使用總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08

