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

8 篇文章 0 订阅

原理:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值