测试开发进阶(四十五)
Docker Compose
安装
1 | sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
删除无用的网络
1 | docker network prune |
删除无用的数据卷
1 | docker volume prune |
编写docker-compose.yml
1 | # 指定版本信息 |
启动
在docker-compose.yml文件所在路径下
1 | docker-compose up |
项目部署
以之前完成的ApiTest
项目为例:
- 收集静态文件
在setting.py
文件中
1 | # 收集静态文件 |
- 前端代码打包
lemon-test/package.json
打包结果:
将两者合并
- 放置到nginx中
- 运行项目Dockerfile并推送至Docker Hub
1 | $ docker build ./ -t apitest:last |
- 运行
docker-compose.yml
1 | docker-compose up -d |
1 | # 指定版本信息 |
具体代码见:
https://github.com/zx490336534/ApiTest/tree/master/DeployApiTest
Docker Swarm
- 集群
- 大型应用
- 高性能 高效率 高可用
- 无中心设计
- 横向 纵向伸缩
- 多主机网络
- 服务发现
- 负载均衡
- 回滚更新
Swarm manager
- 切换 加入 移除 维护 节点
- 最小的集群至少需要5个节点
Swarm work
- 运行任务的节点
- 托管容器任务
创建集群
- 初始化
- docker swarm
由于没有环境,所以不再深入