我已经设置了 kong docker 容器。它从 docker compose 文件开始:
kong:
image: "${KONG_DOCKER_TAG}"
user: ${KONG_USER}
depends_on:
- kong-database
- kong-migrations
environment:
KONG_ADMIN_ACCESS_LOG: /dev/stdout
KONG_ADMIN_ERROR_LOG: /dev/stderr
KONG_ADMIN_LISTEN: '0.0.0.0:8001'
KONG_CASSANDRA_CONTACT_POINTS: ${KONG_CASSANDRA_CONTACT_POINTS}
KONG_DATABASE: ${KONG_DATABASE}
KONG_PG_DATABASE: ${KONG_PG_DATABASE}
KONG_PG_HOST: ${KONG_PG_HOST}
KONG_PROXY_LISTEN: '0.0.0.0:8000'
KONG_PROXY_LISTEN_SSL: 0.0.0.0:8443
KONG_NGINX_HTTP_INCLUDE: custom-nginx-kong.conf
KONG_PG_USER: ${KONG_PG_USER}
KONG_PROXY_ACCESS_LOG: /dev/stdout
KONG_PROXY_ERROR_LOG: /dev/stderr
KONG_PG_PASSWORD: ${KONG_PG_PASSWORD}
networks:
- external-network
configs:
- source: kong-config
target: /usr/local/kong/custom-nginx-kong.conf
# Permissions -r--r--r--
mode: 0444
healthcheck:
test: ["CMD", "curl", "-f", "http://kong:8001"]
interval: 5s
timeout: 2s
retries: 15
restart: on-failure
deploy:
restart_policy:
condition: on-failure
labels:
com.docker.lb.hosts: ${APP_URL_KONG}
com.docker.lb.port: 8080
com.docker.lb.network: external-network
com.docker.lb.backend_mode: vip
我想执行 curl 命令,例如。在我的容器通过某些脚本或使用以下命令自动创建后,立即在 kong 中添加新服务,如下面的 post 命令。但是如何通过上面的 docker-compose 文件设置这种自动化?请帮助我通过 docker compose 在启动时自动添加服务!!!
curl -i -X POST http://<admin-hostname>:8001/services \
--data name=example_service \
--data url='http://mockbin.org'
提前致谢!