docker-compose搭建rap2

前言

应公司要求,需要再内网环境搭建一个rap2服务
因此这里使用docker在外网装好镜像再放入内网的docker中运行
注意:此文中的Dockerfile与docker-compose.yml文件都非被人所写
但我排很多坑,希望能和大家分享

目录结构

mkdir /root/rap2
cd /root/rap2
git clone https://github.com/thx/rap2-dolores.git
git clone https://github.com/thx/rap2-delos.git

制作delos镜像

git上已有现成的docker-compose.yml,只需修改即可

cd /root/rap2/rap2-delos
vim docker-compose.yml
  1. 修改镜像版本如下,官方默认的镜像有bug
image: blackdog1987/rap2-delos:2.6.0dcb5de
  1. 修改启动命令

注释原有一行,删除一行的注释符。不然每次重启都会初始化数据库

#command: /bin/sh -c 'sleep 30; node scripts/init; node dispatch.js'
command: node dispatch.js
  1. 启动 delos
docker-compose up -d
  1. 初始化数据库后重启
docker exec -it rap2-delos sh
node scripts/init
exit
docker-compose restart

制作dolores镜像

  1. 创建Dockerfile
cd /root/rap2/rap2-dolores
vim Dockerfile
FROM node:10.1.0
# 维护人
MAINTAINER ryn
# 创建工作目录
RUN mkdir -p /home/rap2-dolores
WORKDIR /home/rap2-dolores
# 将代码拷贝至工作目录
COPY . /home/rap2-dolores
# 全局安装http-server服务器
RUN npm config set registry https://registry.npm.taobao.org
RUN npm install -g http-server
# 全局安装node-sass(一定要带--unsafe-perm,否则会报错)
RUN npm install --unsafe-perm -g node-sass
# 安装依赖
RUN npm install
# 打包
RUN npm run build
  1. 创建docker-compose.yml
vim docker-compose.yml
version: "2.2"
services:
 delores:
  # 容器名称
  container_name: rap2-dolores
  
  # 通过Dockerfile来构建本地镜像
  build: .
  
  # 通过images来构建,这里的地址暂不适用,因为src/config中的配置需要根据自己的服务器来动态构建
  #image: my_rap2-dolores_delores
  
  # 指定工作目录
  working_dir: /home/rap2-dolores
  
  # 指定生产环境
  environment:
   - NODE_ENV=production
   
  # 启动http-server,并映射端口到容器内部8081上
  command: /bin/sh -c "http-server ./build -s -p 8081"
  privileged: true
  
  # expose port 38081
  ports:
   - "38081:8081"
  1. 修改serve 地址为部署delos的的宿主机的ip及端口
vim /root/rap2/rap2-dolores/src/config/config.prod.js
serve: 'http://192.168.58.129:38080'
  1. 启动dolores
docker-compose up -d

以上便安装完毕
在创建好的镜像中修改了src/config/config.prod.js文件后
需要再执行

npm run build

你可能感兴趣的:(docker,docker-compose,docker-compose,rap2)