代码拉取完成,页面将自动刷新
#!/bin/sh
# 工作路径
g_workPath=$(cd `dirname \$0`; pwd -P)
cd $g_workPath
# 创建 network(可以访问外网)
# @param $1 network 名称
mkNetworkPublic(){
netName="$1"
b=`docker network ls | grep ${netName} | awk '{print $2}'`
if [ ${#netName} == ${#b} ]
then
echo "network ${netName} exist"
else
echo "network ${netName} not exist"
docker network create --driver bridge --subnet=172.18.0.0/16 ${netName}
echo "create network ${netName}"
fi
}
# 创建 network(内网)
# @param $1 network 名称
mkNetworkPrivate(){
netName="$1"
b=`docker network ls | grep ${netName} | awk '{print $2}'`
if [ ${#netName} == ${#b} ]
then
echo "network ${netName} exist"
else
echo "network ${netName} not exist"
docker network create --driver bridge --subnet=172.19.0.0/16 --internal ${netName}
echo "create network ${netName}"
fi
}
# 创建 volume
# @param $1 volume 名称
mkVolume(){
volName="$1"
b=`docker volume ls | grep ${volName} | awk '{print $2}'`
if [ ${#volName} == ${#b} ]
then
echo "volume ${volName} exist"
else
echo "volume ${volName} not exist"
docker volume create ${volName}
echo "create volume ${volName}"
fi
}
# 校验文件是否存在
# @param $1 文件名称
# @return 存在返回 1, 不存在返回 0
checkFileExist(){
filePaeh="$1"
if [ -f "$filePaeh" ];then
echo "$filePaeh exist"
return 1
fi
echo "$filePaeh not exist"
return 0
}
# 修改 .env 文件
# @param $1 文件所在路径
changeEnvFile(){
basepath="$1"
reg=s/\$\{path\}/${basepath//\//\\\/}/g
sed -i $reg .env
uid=`id -u`
reg=s/\$\{uid\}/${uid/\//\\\/}/g
sed -i $reg .env
gid=`id -g`
reg=s/\$\{gid\}/${gid/\//\\\/}/g
sed -i $reg .env
}
# 创建网络
echo "----- create network ------"
mkNetworkPublic "net-public"
mkNetworkPrivate "net-private"
# 创建卷
echo "----- create volume ------"
mkVolume "vol-mysqld"
# 创建 docker-compose.yaml
checkFileExist config_3306/config-file.cnf
if [ $? == 1 ]
then
checkFileExist config_3306/my.cnf
if [ $? == 1 ]
then
echo "----- update .env config ------"
changeEnvFile $g_workPath
echo "----- update Success ------"
fi
fi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。