Hi! First of all, thank you for containerizing all the spacy models. It's been very helpful for us.
I am trying to run the container on Google Cloud Run. Basically Cloud Run prefers listening on the port 8080 and as the container is using nginx i have replaced the default.conf file to make nginx expose port 8080 as given on the link - https://stackoverflow.com/questions/47364019/how-to-change-the-port-of-nginx-when-using-with-docker#:~:text=If%20you%20want%20to%20change,conf%20file%20inside%20the%20container.&text=navigating%20to%20localhost%3A3333%20in,to%20include%20the%20default%20nginx.
** Dockerfile **
FROM jgontrum/spacyapi:base_v2
RUN pip install wheel
ENV languages "en_core_web_lg"
RUN cd /app && env/bin/download_models
COPY default.conf /etc/nginx/conf.d/
COPY nginx.conf /etc/nginx/
EXPOSE 8080
The problem is that it gives a 502 error on hitting any api. Here are the logs:
/usr/lib/python2.7/dist-packages/supervisor/options.py:461: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
'Supervisord is running as root and it is searching '
2020-06-25 22:20:43,107 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, youcan set user=root in the config file to avoid this message.
2020-06-25 22:20:43,107 INFO Included extra file "/etc/supervisor/conf.d/supervisor.conf" during parsing
2020-06-25 22:20:43,132 INFO RPC interface 'supervisor' initialized
2020-06-25 22:20:43,132 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-06-25 22:20:43,133 INFO supervisord started with pid 7
2020-06-25 22:20:44,136 INFO spawned: 'nginx' with pid 10
2020-06-25 22:20:44,142 INFO spawned: 'api' with pid 11
2020-06-25 22:20:44,145 INFO spawned: 'frontend' with pid 12
2020-06-25 22:20:45,333 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-06-25 22:20:45,334 INFO success: api entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-06-25 22:20:45,334 INFO success: frontend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-06-25 22:20:49,475 INFO exited: frontend (exit status 2; expected)
2020-06-25 22:21:34,723 INFO exited: api (exit status 2; expected)
I can't figure out what is the problem here. Any help is appreciated.
Hi! First of all, thank you for containerizing all the spacy models. It's been very helpful for us.
I am trying to run the container on Google Cloud Run. Basically Cloud Run prefers listening on the port 8080 and as the container is using nginx i have replaced the default.conf file to make nginx expose port 8080 as given on the link - https://stackoverflow.com/questions/47364019/how-to-change-the-port-of-nginx-when-using-with-docker#:~:text=If%20you%20want%20to%20change,conf%20file%20inside%20the%20container.&text=navigating%20to%20localhost%3A3333%20in,to%20include%20the%20default%20nginx.
** Dockerfile **
FROM jgontrum/spacyapi:base_v2
RUN pip install wheel
ENV languages "en_core_web_lg"
RUN cd /app && env/bin/download_models
COPY default.conf /etc/nginx/conf.d/
COPY nginx.conf /etc/nginx/
EXPOSE 8080
The problem is that it gives a 502 error on hitting any api. Here are the logs:
/usr/lib/python2.7/dist-packages/supervisor/options.py:461: UserWarning: Supervisord is running as root and it is searching for its configuration file in default locations (including its current working directory); you probably want to specify a "-c" argument specifying an absolute path to a configuration file for improved security.
'Supervisord is running as root and it is searching '
2020-06-25 22:20:43,107 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, youcan set user=root in the config file to avoid this message.
2020-06-25 22:20:43,107 INFO Included extra file "/etc/supervisor/conf.d/supervisor.conf" during parsing
2020-06-25 22:20:43,132 INFO RPC interface 'supervisor' initialized
2020-06-25 22:20:43,132 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2020-06-25 22:20:43,133 INFO supervisord started with pid 7
2020-06-25 22:20:44,136 INFO spawned: 'nginx' with pid 10
2020-06-25 22:20:44,142 INFO spawned: 'api' with pid 11
2020-06-25 22:20:44,145 INFO spawned: 'frontend' with pid 12
2020-06-25 22:20:45,333 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-06-25 22:20:45,334 INFO success: api entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-06-25 22:20:45,334 INFO success: frontend entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2020-06-25 22:20:49,475 INFO exited: frontend (exit status 2; expected)
2020-06-25 22:21:34,723 INFO exited: api (exit status 2; expected)
I can't figure out what is the problem here. Any help is appreciated.