code-push-server的部署(docker)
来源:互联网 发布:残疾人婚恋软件 编辑:程序博客网 时间:2024/06/06 14:15
说明:
在我进行docker部署的时候,官方的docker镜像还是半年前的镜像。所以需要重新构建,但是相对来说也比较简单。
用docker部署项目的好处不用多说
部署前准备
安装docer服务
Ubuntu、Centos安装Docker
安装nodejs服务
nodejs的安装(Centos和Ubuntu)
修改配置文件
参照上一篇源码部署博客
code-push-server的部署(源码)
下载源码和修改配置文件
编写Dockerfile文件
参见lisong团队的dockerhub
请注意COMMON_DATA_DIR和LOCAL_STORAGE_DIR的文件路径,请按照自己的配置进行修改
FROM node:alpineCOPY . /opt/codepush-serverWORKDIR /opt/codepush-serverRUN npm installENV NODE_ENV productionENV PORT 8080ENV CONFIG_FILE /opt/codepush-server/config/config.docker.jsENV COMMON_DATA_DIR /opt/codepush-server/dataENV LOCAL_STORAGE_DIR /opt/codepush-server/storageVOLUME [ "/tmp", "/opt/codepush-server/data", "/opt/codepush-server/storage" ]EXPOSE 8080CMD [ "./bin/www" ]
构建镜像
# 首先将Dockerfile文件移动到code-push-server源码主目录下>>>mv Dockerfile /yourpath/to/code-push-server# 在本地安装模块(我也不知道为什么,不能在Dockerfile里面安装,猜测是因为使用了alpine镜像)>>>cd /yourpath/to/code-push-server && npm install# 进行构建,注意命令最后的点>>>docker build -t code-push-server:v1 .
初始化数据库
开始之前请注意以下几个问题
数据库连接问题
- 权限问题
- 数据库是否开放
- 是否能用root用户连接
命令问题
- localhost、root、password都需填写对应数据库配置文件的相同信息
- dbport按mysql配置填写
- 数据库中不能存在codepush这个数据库
# 构建完成后,进入镜像,注意此处使用的是sh>>>docker run -it code-push-server:v1 /bin/sh# 初始化数据库>>>./bin/db init --dbhost localhost --dbuser root --dbpassword password --dbport 3306 # 若无报错,复制配置文件。docker部署的配置文件需要改成config/config.docker.js>>>cp config/config.js config/config.docker.js# 开启服务测试>>>./bin/www# 若无报错,则表示成功启动,默认端口为8080
获取docker容器的ip
# 开启新的终端,查看正在运行的容器>>>docker ps -l# 查看输出结果,找到对应容器的CONTAINER ID# 查看容器的ip>>>docker inspect --format '{{ .NetworkSettings.IPAddress }}' CONTAINER ID
然后在浏览器中输入对应ip:8080即可查看
部署成功
# 首先需要将最后一次修改的记录保存>>>docker commit CONTAINER ID code-push-server:latest# 然后使用docker run进行部署,这里的网络通信采取桥接>>>docker run -d --net=host code-push-server:latest ./bin/www
打开浏览器输入本机ip:8080即可访问
若需要更改配置,请在GitHub项目地址进行查看
源码地址
阅读全文
0 0
- code-push-server的部署(docker)
- code-push-server的部署(源码)
- code-push-server部署windows系统踩坑记
- code-push-server 搭建自己的推送服务器流程
- Docker部署Rancher Server-centos7
- Spring Boot+Docker项目cacubd-server-collector的部署运行
- docker 在push镜像到本地registry出现的500 Internal Server Error
- 使用codepush进行ReactNative热部署react-native-code-push
- scrapy的docker部署
- Code Push
- 搭建code-push-server服务器用于react-native热更新
- Docker源码分析(五):Docker Server的创建
- Docker源码分析(五):Docker Server的创建
- Docker源码分析(五):Docker Server的创建
- 【Docker】Docker push失败的问题相关解决方案和实践
- 简单Server Push的实现
- 一段Server Push的调试
- Docker镜像推送(push)到Docker Hub
- pycharm2016.2.X中出现“Parent module ‘YOUR_MODULE_HERE’ not found while handling absolute import ”解决方法
- ArrayList和Vector的区别
- java编程思想第一章 对象
- 我的第一个博客
- 域服务篇 04. 组 ❀ Windows Server 2016
- code-push-server的部署(docker)
- sqlserver 日期加减问题
- 运维知道
- [PAT]1010. Radix (25)@Java解题报告
- [js高手之路]从原型链开始图解继承到组合继承的产生
- B
- A+B Problem II
- 1 个方法提升 3 倍执行力
- 用shell脚本实现监控程序自动重启