解决window docker 开发swoft框架项目启动慢的问题

原理:

1.docker加载windows系统共享目录里面的文件很慢

2.docker加载容器内部目录的文件很快

3.rsync同步文件时只会同步有差异的文件,所以同进的时候挺快

步骤:

1.容器中安装 rsync

apt-get install rsync

2.同步忽略文件(第一次部署全部同步)

第一次部署执行

rsync -azv --delete /home/www/wwwroot/base_swoft/ /home/www/wwwrsync/base_swoft

/home/shell/rsync/exclude/_docker

vendor
.git
.idea
.phpstorm.meta.php
exclude.log
public
runtime
test
key

3.同步脚本

/home/shell/rsync/base_swoft/docker.sh

#!/bin/bash
Project_Name='base_swoft'
#code rsync
echo "\033[32m---------rsync code start---------\033[0m"
rsync -azv --delete --exclude-from=/home/shell/rsync/exclude/_docker /home/www/wwwroot/${Project_Name}/ /home/www/wwwrsync/${Project_Name}
echo "\033[32m---------rsync code end---------\033[0m\n"

#uploadfiles rsync
echo "\033[32m---------rsync uploadfiles start---------\033[0m"
rsync -azv /home/www/wwwrsync/${Project_Name}/public/uploadfiles/  /home/www/wwwroot/${Project_Name}/public/uploadfiles
echo "\033[32m---------rsync uploadfiles end---------\033[0m\n"

php /home/www/wwwrsync/${Project_Name}/bin/swoft ws:start

以后启动项目进入目录/home/shell/rsync/base_swoft/,执行sh docker.sh即可。

base_swoft_pw.sh

#!/bin/bash
Rsync_path='wwwrsync'
Project_Name='base_swoft_pw'

cd /home/www
if [ ! -d ${Rsync_path} ];then
mkdir ${Rsync_path}
fi

cd /home/www/${Rsync_path}/
#判断要创建的项目目录是否已经存在,不存在则创建
if [ ! -d ${Project_Name} ];then
mkdir ${Project_Name}
rsync -azv --delete --exclude=".git" --exclude=".idea" /home/www/wwwroot/${Project_Name}/ /home/www/${Rsync_path}/${Project_Name}
else

#code rsync
echo "\033[32m---------rsync code start---------\033[0m"
rsync -azv --delete --exclude-from=/home/www/wwwroot/dockershell/rsync/exclude/_docker /home/www/wwwroot/${Project_Name}/ /home/www/${Rsync_path}/${Project_Name}
echo "\033[32m---------rsync code end---------\033[0m\n"

#uploadfiles rsync
echo "\033[32m---------rsync uploadfiles start---------\033[0m"
rsync -azv /home/www/${Rsync_path}/${Project_Name}/public/uploadfiles/  /home/www/wwwroot/${Project_Name}/public/uploadfiles
echo "\033[32m---------rsync uploadfiles end---------\033[0m\n"

fi

php /home/www/${Rsync_path}/${Project_Name}/bin/swoft ws:start

猜你喜欢

转载自blog.csdn.net/lvshuocool/article/details/120592025