#!/bin/bash
nfs_ip="xx.xx.xx.xx"
nfs_dir="/data/nfs/"
data_dir="mysql_data"
nfs_mysql_data="${nfs_dir}/${data_dir}"
mysql_root_pwd="xxxxxx"
MYSQL_USER="test"
MYSQL_PASSWORD="test"
MYSQL_DATABASE"test"
image="mysql:5.7.40-oracle"
volume_name="mysql_nfs"
container_name="mysql"
port="3306"
tmp_dir=$(mktemp -d)
mount -t nfs ${nfs_ip}:${nfs_dir} ${tmp_dir}
if [ $? != 0 ]; then
echo 'mount nfs server ERROR!'
exit 1
else
echo "mount ${nfs_ip}:${nfs_dir} succeeded!"
fi
dir="${tmp_dir}/${data_dir}"
if [ ! -d $dir ]; then
echo "mkdir ${data_dir}"
mkdir -p $dir
else
echo 'dir ${data_dir} exists, ignore mkdir'
fi
umount ${tmp_dir}
if [ $? == 0 ]; then
rm -r ${tmp_dir}
else
echo "umount ${tmp_dir} ERROR!"
exit 1
fi
docker volume create \
--driver local \
--opt type=nfs \
--opt o=addr=${nfs_ip},nolock,rw,tcp \
--opt device=${nfs_ip}:${nfs_mysql_data} \
--name ${volume_name}
docker run -d --name ${container_name} \
-p ${port}:3306 \
-e MYSQL_ROOT_PASSWORD="${mysql_root_pwd}" \
-e MYSQL_USER={MYSQL_USER} \
-e MYSQL_PASSWORD=${MYSQL_PASSWORD} \
-e MYSQL_DATABASE=${MYSQL_DATABASE} \
-v ${volume_name}:/var/lib/mysql \
${image}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!