启动swarm
$ sudo docker swarm init
获取代码
$ git clone https://github.com/lisong/code-push-server.git
$ cd code-push-server/docker
修改配置文件
$ vim docker-compose.yml
将DOWNLOAD_URL中YOU_MACHINE_IP替换成本机外网ip或者域名 将MYSQL_HOST中YOU_MACHINE_IP替换成本机内网ip 将REDIS_HOST中YOU_MACHINE_IP替换成本机内网ip
jwt.tokenSecret修改 code-push-server 验证登录验证方式使用的json web token加密方式,该对称加密算法是公开的,所以修改config.js中tokenSecret值很重要。 可以打开连接https://www.grc.com/passwords.htm获取 63 random alpha-numeric characters类型的随机生成数作为密钥
部署
$ sudo docker stack deploy -c docker-compose.yml code-push-server
查看进展
$ sudo docker service ls
$ sudo docker service ps code-push-server_db
$ sudo docker service ps code-push-server_redis
$ sudo docker service ps code-push-server_server
确认CURRENT STATE 为 Running about ..., 则已经部署完成
访问接口简单验证
$ curl -I http://YOUR_CODE_PUSH_SERVER_IP:3000/
返回200 OK
浏览器登录
默认用户名:admin 密码:123456 记得要修改默认密码哦 如果登录连续输错密码超过一定次数,会限定无法再登录. 需要清空redis缓存
查看服务日志
$ sudo docker service logs code-push-server_server
$ sudo docker service logs code-push-server_db
$ sudo docker service logs code-push-server_redis
查看存储 docker volume ls
DRIVER VOLUME NAME 描述 local code-push-server_data-mysql 数据库存储数据目录 local code-push-server_data-storage 存储打包文件目录 local code-push-server_data-tmp 用于计算更新包差异文件临时目录 local code-push-server_data-redis redis落地数据
销毁退出应用
$ sudo docker stack rm code-push-server
$ sudo docker swarm leave --force