Docker Compose - BlackHole (黑洞服務器)
前言
常見與第三方服務做對接的時候,遇到沒有文件、格式錯誤…等等的常見問題。而在開發初期並無法立即搭建好環境提供給對方做呼叫。
此時使用BlackHole
建置企一個服務,並提供對應的位址給對方,而在BlackHole
裡面做的紀錄就是對方所帶的像是 -
URL Path
HTTP method
Headers
Body
舉例:
1 | curl --location --request GET 'http://127.0.0.1:9999/test/' \ |
紀錄:
1 | GET /test/ |
Docker Image
使用nods.js
的blackhole-server
套件來建置,可以參考:blackhole-server
使用
DockerFile
建置。1
2
3
4
5
6
7
8
9
10
11# OS: Debian Buster
# Node.js: 14.4.0
FROM node:14.4.0-buster
RUN npm install -g blackhole-server
# Listen port
EXPOSE 9999
# Run Node.js
CMD [ "blackhole-server" ]説明:
- 從
node 14.4.0
映像開始構建映像。 - 安裝
blackhole-server
- 在鏡像中添加描述監聽
9999
端口。 - 將容器的默認命令設置為
blackhole-server
。
- 從
To Build:
1
$ docker build -t blackhole-server:v1 .
Docker Compose
- docker-compose.yml説明:
1
2
3
4
5
6
7version: '2'
services:
blackhole:
image: blackhole-server:v1
ports:
- "9999:9999"- 版本定義為
2
。 - 定義
services
名稱為blackhole
。 - 使用
blackhole-server:v1
映像。 - 暴露端口
9999
(格式為HOST:CONTAINER
)。
- 版本定義為
Run & Test
此處省略了Build Dockerfile
的環節。
Other Docker Compose List
如需要找尋其他的 Docker Compose ,可以參考Docker Compose - 簡介的分享目錄。
註:以上參考了
Docker
blackhole-server