1

我已经设置了 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'

提前致谢!

4

0 回答 0