DoraCMS v2.1.2 Docker 版本(生产环境)
DoraCMS的部署并不是很简单,需要开发者有一定的前端经验,DoraCMS 生产的部署,之前有写过一篇部署文档:DoraCMS2.0 linux部署(生产环境)教程 其实已经比较详细了,但是从github issue 里,仍然出现一些问题,主要集中在:
1、mongodb 的配置
2、redis 的配置
3、分不清是否需要配置环境变量,导致程序跑起来报错
最近了解了一下docker,将 DoraCMS 放在docker 容器中生成了一个镜像(https://hub.docker.com/r/doramart/doracms)希望能更好的帮助大家快速搭建doracms。下面介绍下本地使用doracms 镜像的方法:
1、查询 DoraCMS 镜像
docker search doracms
得到结果:
2、下载 DoraCMS 镜像。
docker pull doramart/doracms:2.1.2
通过 docker images 查询下载成功的镜像。
docker images
3、通过doracms镜像创建mycms 容器,并制定映射端口号
docker run -it -d -p 8001:8080 --name mycms doramart/doracms:2.1.2 /bin/bash
通过如下命令查看端口号绑定情况:
docker ps
结果可以看到容器端口号8080映射到宿主主机的8001端口号(后续我们可以通过 http://localhost:8001访问)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a2402b967500 doracms:2.1.2 "/bin/bash" 42 seconds ago Up 41 seconds 0.0.0.0:8001->8080/tcp mycms
4、进入mycms容器
docker attach mycms
5、开启redis
redis-server /etc/redis/redis.conf &
6、开启mongodb
cd /usr/local/mongodb/mongodb-linux-x86_64-ubuntu1604-4.0.9/bin/ ./mongod --config /usr/local/mongodb/mongodb.conf
7、进入代码根目录,重装依赖(本身镜像中有依赖,建议删除重新安装一次),依次执行下面的命令
cd /home/webapp/DoraCMS/ git pull rm -rf node_modules/ npm i
8、让环境变量生效。镜像中在 /etc/profile 中配置了 export NODE_ENV=production, 但是需要source一下使其生效:
source /etc/profile
9、通过pm2 启动项目
pm2 start server.js --name doracms
10、在本地通过 http://localhost:8001 访问,可以看到,页面已经打开了。