近期在安裝Docker Swarm集群,考慮到一個個服務都需要進行域名映射實在麻煩获洲,于是開始查找相應的方案,在綜合實驗Traefik和Docker Flower Proxy后發(fā)現(xiàn)都不是特別方便程拭,特別是有些測試的組合容器有多個服務的情況下建蹄。還是手工改寫nginx可控性更加適合。尋找nginx的動態(tài)路由动看,一般都是通過lua來實現(xiàn)尊剔,突然發(fā)現(xiàn)一個整合好的,并且有Web管理界面可以使用菱皆,Ceryx登場须误。
Ceryx GitHub
Ceryx Web GitHub
參考兩個網(wǎng)站上的腳本,整合了一個在Portainer上使用的yml
version: '2'
services:
ceryx:
image: sourcelair/ceryx:latest
ports:
- 80:80
- 443:443
depends_on:
- redis
environment:
- CERYX_DISABLE_LETS_ENCRYPT=false
- CERYX_DOCKERIZE_EXTRA_ARGS=-no-overwrite
- CERYX_REDIS_HOST=redis
- CERYX_REDIS_PORT=6379
command:
- usr/local/openresty/bin/openresty
- -g
- daemon off;
api:
image: sourcelair/ceryx-api:latest
depends_on:
- redis
- ceryx
environment:
- CERYX_API_HOST=0.0.0.0
- CERYX_API_HOSTNAME=localhost
- CERYX_API_PORT=5555
- CERYX_DEBUG=false
- CERYX_REDIS_HOST=redis
- CERYX_REDIS_PORT=6379
redis:
image: redis:3.2.11-alpine
web:
image: paris/ceryx-web:latest
depends_on:
- redis
- ceryx
- api
ports:
- 5000:5000
environment:
- CERYX_API_HOST=http://api:5555
networks:
default:
attachable: true
driver: overlay
name: ceryx
然后通過頁面管理即可