На этом сервере я запускаю Nginx в качестве контейнера Docker, используя официальную версию nginx:alpine version.
У меня была довольно устаревшая версия:
$ docker images | grep nginx nginx none 5a35015d93e9 10 months ago 15.5MB nginx latest 46102226f2fd 10 months ago 109MB nginx 1.11-alpine 935bd7bf8ea6 18 months ago 54.8MB
Чтобы убедиться, что у меня была последняя версия, я запустил pull:
$ docker pull nginx:alpine alpine: Pulling from library/nginx 550fe1bea624: Pull complete d421ba34525b: Pull complete fdcbcb327323: Pull complete bfbcec2fc4d5: Pull complete Digest: sha256:c8ff0187cc75e1f5002c7ca9841cb191d33c4080f38140b9d6f07902ababbe66 Status: Downloaded newer image for nginx:alpine
Теперь мой локальный репозиторий содержит обновленную версию Nginx:
$ docker images | grep nginx nginx alpine bb00c21b4edf 5 weeks ago 16.8MB
Чтобы использовать его, вы должны запустить новый контейнер на основе этого конкретного образа.
В текущем запущенном контейнере по-прежнему будет использоваться исходный (старый) образ.
$ docker ps CONTAINER ID IMAGE COMMAND CREATED 4d9de6c0fba1 5a35015d93e9 "nginx -g 'daemon ..." 9 months ago
В моем случае я снова создал свой контейнер HTTP / 2 nginx;
$ docker stop nginx-container $ docker rm nginx-container $ docker run --name nginx-container \ --net="host" \ -v /etc/nginx/:/etc/nginx/ \ -v /etc/ssl/certs/:/etc/ssl/certs/ \ -v /etc/letsencrypt/:/etc/letsencrypt/ \ -v /var/log/nginx/:/var/log/nginx/ \ --restart=always \ -d nginx:alpine
И обновление Nginx контейнера было завершено.