# Docker化以及资源编排 [TOC] SD框架为Docker提供了部署环境的镜像,包含PHP7.1以及所有框架需要的扩展和工具。 需要SD版本>2.5.0。 也提供了资源编排模板帮助快速构建SD集群环境。 ## Docker书籍 如果对Docker和Docker-Compose不熟悉的可以恶补下。 [Docker — 从入门到实践](https://yeasy.gitbooks.io/docker_practice/content/) ## 安装Docker 首先建议你注册阿里云账号,访问阿里云Docker镜像仓库 [Docker镜像仓库](https://cr.console.aliyun.com/#/accelerator) 申请你的专属加速器地址,通过下面的文档安装以及配置好你的Docker。 ## 选择镜像 SD框架提供2种镜像 * registry.cn-hangzhou.aliyuncs.com/youwoxing/swoole 该版本镜像是基础镜像包含SD框架的运行环境,但不包括Composer安装的代码。 * registry.cn-hangzhou.aliyuncs.com/youwoxing/sd 该版本镜像是完整的SD框架,包含Composer安装的代码以及Install,可以直接运行。 **如何选择镜像?** 如果你的composer.json没有多余的依赖那么可以直接选择sd的镜像,否则请通过swoole基础镜像进行制作。 ## 制作镜像 通过swoole基础镜像制作专属的运行环境。 1. 下载模板 ``` git clone https://github.com/tmtbe/swoole-docker.git ``` 找到SD文件夹,将你的composer.json拷贝进去覆盖。 2. 制作镜像 进入SD文件目录,执行下面代码。 ``` docker build -t mysd . ``` 注意最后的一个‘.’,不要忽略。 3. 运行镜像 ``` docker run mysd ``` 4. 挂载代码目录 将你的代码拷贝到/apps目录下,或者相应的做些调整,我们只需要挂载src目录。 ``` docker run -v /apps/src:/apps/src mysd ``` ## 资源编排 集群环境我们可以通过资源编排来进行部署 1. 通过上面步骤制作专属镜像 2. 进入APP文件目录,打开docker-compose.yml进行编辑 3. 执行docker-compose up部署 这里说明下注意事项 1. dvc是数据卷容器,进行挂载代码动态更新的。 2. consul服务器可以自行部署成集群模式,模板中是单例。 3. sd的image填写为你生成的镜像名称比如上面的mysd。 4. SD框架提供了环境变量 ## 环境变量 SD框架提供了环境变量,便于使用Docker部署 ### SD_NODE_NAME 更换Consul的Node_NAME ### SD_CONFIG_DIR 设置config配置文件的子目录