docker构建,启动前端项目

docker -v
/usr/local/bin/docker-compose -v
cd /opt/front_docker
/usr/local/bin/docker-compose -f build-compose.yml run build-sf-shop-front
/usr/local/bin/docker-compose -f docker-compose.yml build sf-shop-front

build-compose.yml

version: '3.9'   #与docker版本
services:
  build-sf-shop-front:  #服务名
    image: node:12-alpine
    environment:
      - "TZ=Asia/Shanghai"
    volumes:
      - npm-cache-volume:/cache
      - /var/lib/jenkins/workspace/mit-sf-shop-front:/workspace:cached #git代码的路径
    ulimits:
      nproc: 65535
      nofile:
        soft: 50000
        hard: 50000
    command: >
      /bin/sh -c "
      cd /workspace &&
      npm --registry=https://registry.npm.taobao.org i -g node-gyp &&
      npm
      --cache=/cache
      --registry=https://registry.npm.taobao.org
      --prefer-offline=true
      --package-lock=false
      install &&
      npm run build:pre"  # 运行的环境   
  build-sf-cms-front:
    image: node:12-alpine
    environment:
      - "TZ=Asia/Shanghai"
    volumes:
      - npm-cache-volume:/cache
      - /var/lib/jenkins/workspace/sf-cms-front-docker:/workspace:cached
    ulimits:
      nproc: 65535
      nofile:
        soft: 50000
        hard: 50000
    command: >
      /bin/sh -c "
      cd /workspace &&
      npm
      --cache=/cache
      --registry=https://registry.npm.taobao.org
      --prefer-offline=true
      --package-lock=false
      install &&
      npm run build:pre"
  build-sf-buyer-seller-front:
    image: node:12-alpine
    environment:
      - "TZ=Asia/Shanghai"
    volumes:
      - npm-cache-volume:/cache
      - /var/lib/jenkins/workspace/sf-buyer-seller-front-docker:/workspace:cached
    ulimits:
      nproc: 65535
      nofile:
        soft: 50000
        hard: 50000
    command: >
      /bin/sh -c "
      cd /workspace &&
      npm
      --cache=/cache
      --registry=https://registry.npm.taobao.org
      --prefer-offline=true
      --package-lock=false
      install &&
      npm run build:pre"
  build-sf-erp-front:
    image: node:12-alpine
    environment:
      - "TZ=Asia/Shanghai"
    volumes:
      - npm-cache-volume:/cache
      - /opt/front_docker/workspace/erp:/workspace:cached
    ulimits:
      nproc: 65535
      nofile:
        soft: 50000
        hard: 50000
    command: >
      /bin/sh -c "
      cd /workspace &&
      npm
      --cache=/cache
      --registry=https://registry.npm.taobao.org
      --prefer-offline=true
      --package-lock=false
      install &&
      npm run build:pre"
  build-sany-wx-h5:
    image: node:12-alpine
    environment:
      - "TZ=Asia/Shanghai"
    volumes:
      - npm-cache-volume:/cache
      - ./sany-wx-h5:/workspace:cached
    ulimits:
      nproc: 65535
      nofile:
        soft: 50000
        hard: 50000
volumes:
  maven-cache-volume:
    name: maven-cache
  npm-cache-volume:
    name: npm-cache
  yarn-cache-volume:
    name: yarn-cache

docker-compose.yml

version: '3.8'
services:
  sf-erp-front:
    build:
      context: /opt/front_docker/workspace/erp
    image: sanfeng-registry.cn-zhangjiakou.cr.aliyuncs.com/31scm/commerce:sf-erp-front_latest
    container_name: sf-erp-front
    environment:
      - "TZ=Asia/Shanghai"
      - "SERVER_PORT=8080"
    ports:
      - "8080:8080"
    restart: on-failure
    networks:
      - "backend"
  sf-shop-front:
    build:
      context: /var/lib/jenkins/workspace/mit-sf-shop-front
    image: sanfeng-registry.cn-zhangjiakou.cr.aliyuncs.com/31scm/commerce:sf-shop-front_latest
    container_name: sf-shop-front
    environment:
      - "TZ=Asia/Shanghai"
      - "SERVER_PORT=9009"
    ports:
      - "8000:9009"
    restart: on-failure
    networks:
      - "backend"
  sf-buyer-seller-front:
    build:
      context: /opt/front_docker/workspace/buyer
    image: sanfeng-registry.cn-zhangjiakou.cr.aliyuncs.com/31scm/commerce:sf-buyer-front_latest
    container_name: sf-buyer-front
    environment:
      - "TZ=Asia/Shanghai"
      - "SERVER_PORT=8081"
      - "SHOPPING_URI=localhost:8000"
      - "HELP_URI=localhost:8082"
      - "BUYER_URI=localhost:8081"
    ports:
      - "8081:8081"
    restart: on-failure
    networks:
      - "backend"
  sf-cms-front:
    build:
      context: /opt/front_docker/workspace/cms
    image: sanfeng-registry.cn-zhangjiakou.cr.aliyuncs.com/31scm/commerce:sf-cms-front_latest
    container_name: sf-cms-front
    environment:
      - "TZ=Asia/Shanghai"
      - "SERVER_PORT=8082"
    ports:
      - "8082:8082"
    restart: on-failure
    networks:
      - "backend"
  #sany-wx-h5:
  #  build:
  #    context: /opt/front_docker/workspace/erp
  #  image: xunkutech/sany-wx-h5:${COMMIT}
  #  container_name: sany-wx-h5
  #  environment:
 #     - "TZ=Asia/Shanghai"
#      - "SERVER_PORT=8083"
 #   ports:
#      - "8083:8083"
 #   restart: on-failure
  #  networks:
   #   - "backend"
networks:
  backend:
    driver: bridge

服务端渲染的dockerfile

FROM hub.c.163.com/netease_comb/centos:7
COPY ./.nuxt /www/.nuxt
COPY ./node_modules /www/node_modules
COPY ./static /www/static
COPY ./nuxt.config.js /www/nuxt.config.js
COPY ./package.json /www/package.json
RUN yum makecache fast && yum install epel-release -y
RUN rm -f /etc/localtime &&  ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN yum install nodejs -y
RUN yum install openssl -y
RUN yum install gettext -y
RUN npm i -g n && n 12.16.0 stable
RUN npm i -g pm2
RUN yum install nginx -y
COPY default.conf.template /etc/nginx/templates/default.conf.template
WORKDIR /www
ENTRYPOINT envsubst '$SERVER_PORT' < /etc/nginx/templates/default.conf.template > /etc/nginx/conf.d/default.conf && \
/usr/sbin/nginx && pm2 start --no-daemon npm --name sany-buyer-front -- run start --watch
# ENTRYPOINT ["sh", "-c" ,"pm2 start --no-daemon npm --name sany-buyer-front -- run start --watch"]

普通的vue项目的dockerfile

FROM nginx:1.21.3-alpine
COPY dist /www
COPY default.conf.template /etc/nginx/templates/default.conf.template
RUN rm -f /etc/localtime &&  ln -s ../usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值