I am building a docker container with the following Dockerfile:
FROM debian:bullseye
RUN apt -y update && echo 'deb https://nginx.org/packages/debian/ bullseye nginx' >> /etc/apt/sources.list && echo 'deb-src https://nginx.org/packages/debian/ bullseye nginx' >> /etc/apt/sources.list && apt -y install gnupg2 && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62 && apt -y update && apt -y install nginx nginx-extras luarocks
RUN ln -sf /dev/stdout /var/log/nginx/access.log \
&& ln -sf /dev/stderr /var/log/nginx/error.log
# RUN luarocks install nginx-lua-prometheus
EXPOSE 80
STOPSIGNAL SIGTERM
As per the instructions on NGinx site, I add the following two lines to etc/apt/sources.list
:
deb https://nginx.org/packages/debian/ bullseye nginx
deb-src https://nginx.org/packages/debian/ bullseye nginx
and launch the installation: apt install -y nginx ...
However, when the container is launched, an old version is running:
# nginx -v
nginx version: nginx/1.18.0
It seems that the nginx gets installed from the debian repository instead of the NGinx one.
Even more surprisingly, the NGinx package is marked as upgradable:
# apt update
Hit:1 http://security.debian.org/debian-security bullseye-security InRelease
Hit:2 http://deb.debian.org/debian bullseye InRelease
Hit:3 http://deb.debian.org/debian bullseye-updates InRelease
Hit:4 https://nginx.org/packages/debian bullseye InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
# apt list --upgradable
Listing... Done
nginx/stable 1.20.1-1~bullseye all [upgradable from: 1.18.0-6.1]
N: There is 1 additional version. Please use the '-a' switch to see it
Now, if I try to upgrade the nginx package, it fails:
# apt upgrade nginx
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libnginx-mod-http-auth-pam : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-cache-purge : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-dav-ext : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-echo : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-fancyindex : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-geoip : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-geoip2 : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-headers-more-filter : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-image-filter : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-lua : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-ndk : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-perl : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-subs-filter : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-uploadprogress : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-upstream-fair : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-http-xslt-filter : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-mail : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-nchan : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-stream : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-stream-geoip : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
libnginx-mod-stream-geoip2 : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
nginx-extras : Depends: nginx-common (= 1.18.0-6.1) but it is not installable
E: Broken packages
My question is the following: how to install the latest version (nginx/stable 1.20.1) directly from NGinx repository?