I have a piece of PHP-code in which I specify Traefik labels inside a call to docker:
$command = new Command(
"docker run",
[ "--name \"{$userName}\"",
"-i",
"-a stdin",
"--network proxy", // the reverse proxy Traefik is in the proxy network
"--label traefik.enable=true", // label for Traefik to route trafic
"--label traefik.http.routers.{$userName}.rule = \"(Host(\\`student.{$serverName}\\`) && Path(\\`/{$userName}\\`))\"", //
$studentProtoImage // image name to run
]
When I inspect the docker container once it runs, the Traefik label suddenly has twice \\\u0026
instead of twice &
:
"traefik.http.routers.stefj.rule": "Host(`student.localhost`) \\\u0026\\\u0026 Path(`/stefj`)"
I expected it to be
"traefik.http.routers.stefj.rule": "Host(`student.localhost`) && Path(`/stefj`)"
I tried all sorts of ways to escape the &
, but nothing works. Can anyone help me out?