I’m not sure what I’m doing is correct so fix me if I’m mistaken.
This is my dockerfile:
FROM nginx:latest RUN apt update && apt install build-essential libpcre3 libpcre3-dev libssl-dev libnginx-mod-rtmp -y
I’m trying to add rtmp module
to my nginx.
I’m trying to run the image with the command below:
docker run --rm --name mynginx -p 80:80 -v ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf mynginx:latest
This is what I received:
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Configuration complete; ready for start up /docker-entrypoint.sh: 38: exec: nginx: not found
What is that /docker-entrypoint.sh: 38: exec: nginx: not found
? How do I fix it?
Advertisement
Answer
There is already an nginx image with rtmp module installed:
docker pull tiangolo/nginx-rtmp
How to use:
https://hub.docker.com/r/tiangolo/nginx-rtmp/
Now for your problem, if you go to the official nginx docker image repository in https://github.com/nginxinc/docker-nginx, line 38 is:
exec "$@"
So what does that do?
More information here:
https://unix.stackexchange.com/questions/466999/what-does-exec-do