Skip to content
Advertisement

docker-entrypoint exec nginx not found

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

User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement