Как обновить контейнер Docker до последней версии

by itisgood

На этом сервере я запускаю 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 контейнера было завершено.

 

You may also like

Leave a Comment