Моя цель проста: загрузить внешний плагин hello-world для Kong. Я решил сделать это с помощью подключенного тома, но столкнулся с серьезными проблемами, которые мешают мне запустить мой простой внешний плагин hello-world.
Я выделил свою проблему до следующих команд , с нуля:
docker network create kong-net
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
-e "POSTGRES_PASSWORD=kong" \
postgres:9.6
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap
docker run -it --name kong \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kong" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
-e "KONG_LUA_PACKAGE_PATH=/plugins/?.lua" \
-e "KONG_CUSTOM_PLUGINS=helloworld" \
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
-v "kong/plugins/helloworld:/plugins" \
-p 8000:8000 \
-p 8443:8443 \
-p 8001:8001 \
-p 8444:8444 \
kong:latest
В моем локальном каталоге находится исходный код плагина ./kong/plugins/helloworld/
Согласно в документах Kong я корректирую свой конфигурационный файл Kong, добавляя «KONG_» перед элементом, который я хочу настроить. Это означает, что у меня есть KONG_CUMSTOM_PLUGINS=helloworld
и KONG_LUA_PACKAGE_PATH=/plugins/?.lua
Docker, и Конгу это не нравится, и когда я выполняю вышеуказанные команды, меня приветствуют следующие слова:
docker: invalid reference format.
See 'docker run --help'.
Устраняя проблемы один за другим, проблема окружает биты -e "KONG_CUSTON_PLUGINS=helloworld"
и -e "KONG_LUA_PACKAGE_PATH=/plugins/?.lua" \
.
Что здесь не так?