在尝试安装外部插件时出现"docker: invalid reference format"错误

我的目标很简单:为Kong加载一个hello-world的外部插件。我决定通过挂载卷来实现,但是我遇到了严重的问题,无法运行我的简单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=helloworldKONG_LUA_PACKAGE_PATH=/plugins/?.lua

Docker和Kong不喜欢这样做,当运行上面的命令时,我会看到以下内容:

docker: invalid reference format.
See 'docker run --help'.

逐个消除问题,问题围绕着-e"KONG_CUSTON_PLUGINS=helloworld"-e"KONG_LUA_PACKAGE_PATH=/plugins/?.lua"\两个部分。

这里出了什么问题?

点赞