1. 程式人生 > >Docker 快速搭建 mock-server

Docker 快速搭建 mock-server

專案目前選型是前後端分離開發,其中前端使用 AntDesign pro。

根據和一線工程師溝通,引入mock技術搭建 json-server,可以快速模擬呼叫後端介面,實現增刪查改以及複雜的業務邏輯。不用等後端開發完畢,配合 rap2 介面管理系統,前後端統一約束,而且前端不用手工造數:可以從配置好正則的介面生成(來自rap2介面伺服器的支援)。

原計劃引入Rap2後,將其作為 Json-server,嘗試了下,只實現了查詢,增刪改沒搞定,更不要說複雜邏輯了。可能是貪心了。還是要引入 Json-server 支援;

外網準備

目前 node 版本是 9.11,查看了 dockerhub,最新穩定版映象也是這個版本;

下載映象

ChinaDreams:Desktop kangcunhua$ docker pull node:alpine
ChinaDreams:Desktop kangcunhua$ docker images | grep node

匯出映象

ChinaDreams:Desktop kangcunhua$ docker save -o node9-alpline.tar node:alpine

撰寫指令碼

計劃用 docker-compose 來管理,撰寫 ”docker-compose.yml” 指令碼來啟動。

新建 docker-project 目錄

ChinaDreams:docker-project kangcunhua$ mkdir mock-alpine && cd mock-alpine
ChinaDreams:docker-project kangcunhua$ vi docker-compose.yml

docker-compose.yml

version "3"
services:
  json-server:
    image: node:alpine
    container_name: json-server
    restart: always
    volumes: 
      - ./custom:/usr/src/app/custom
      - ./data:/usr/src/app/data
      - ./node_modules:/usr/src/app/node_modules
      - ./routes:/usr/src/app/routes
      - ./auth.js:/usr/src/app/auth.js
      - ./rule.js:/usr/src/app/rule.js
      - ./server.js:/usr/src/app/server.js

    working_dir: /usr/src/app
    ports:
      - 20000:20000
    command: "node server.js"

注意:此處使用了一個新引數 working_dir,相當於 Dockerfile 裡的 WORKDIR,來源於 docker-compose run 命令的引數;不加這個引數,提示“找不到 server.js”。

內網實戰

將mock-alpine目錄和node9-alpline.tar拷貝到內網。分別上傳開發伺服器docker-project和docker-images目錄;

注,docker-project和docker-images目錄是自己建立用來管理dcoker-compose指令碼和docker映象的。

實戰

還是那幾步:匯入映象—>啟動—>驗證;

匯入映象

[[email protected]03 ~]# cd docker-images && docker load -i node9-alpine.tar
[[email protected] docker-images]# docker images | grep node

啟動

[[email protected] ~]# cd docker-project/mock-alpine
[[email protected] mock-alpine]# docker-compose up -d

一般第一次啟動使用”docker-compose up”命令檢視輸出,如果報錯,及時處理。正常啟動後可以”ctrl + c”停止服務,然後用”docker-compose up -d”後臺啟動即可。

驗證

開發伺服器上,

[[email protected] mock-alpine]# docker ps

檢視是否正常啟動json-server容器,埠對映是否正常;也可以”docker logs json-server”檢視輸出日誌。

來到內網雲桌面(假設伺服器IP是10.10.10.10),

c:\User\kch> curl 10.10.10.10:20000

搞定,發郵件通知相關人等。

本文由作者:蠻大人  授權釋出
連結:https://opsdev.fun/2018/06/19/O1-8-50-Docker%E5%BF%AB%E9%80%9F%E6%90%AD%E5%BB%BAmock-server/#more
著作權歸作者所有。
轉載請聯絡作者獲得授權。

51Reboot Docker+ K8s 課程
Docker 快速搭建 mock-server
Docker 快速搭建 mock-server

詳情聯絡wechat:17812796384