How to upgrade to a new Image?
Objective
Become familiar with how the SOAJS Dashboard notifies you about Nginx image updates & upgrades and learn how to pull and apply them and apply them on the Nginx deployed in the Dashboard Environment.
Steps
- Locate Update Notifications
- Apply the Update
Step 1
The Dashboard contains a notification system that informs you whenever new image updates or upgrades are published by the SOAJS team.
These notifications appear Under Deploy pillar → Updates & Upgrades.
In Updates & Upgrades you will see notifications about new image updates or upgrades with a link so you can learn more about them.
Step2
SOAJS images are published on Docker Hub and are categories as follows:
- Framework: https://hub.docker.com/r/soajsorg/soajs/
- Nginx: https://hub.docker.com/r/soajsorg/nginx/
- Analytics
The Nginx images are tagged based on Release Names & the version of the SOAJS deployer they are using.
EX:
Nginx Image release on May 16, 2017 was part of the whiteshark release thus the image tags are: whiteshark and 1.0.x
You can pull that image by running any of the two commands:
# pull the image based on tag name as a release > docker pull soajsorg/nginx@whiteshark # pull the image based on tag name as a version > docker pull soajsorg/nginx@1.0.x
Reference: https://hub.docker.com/r/soajsorg/nginx/tags/
Updating Your Nginx
- run the docker pull command in your terminal as instructed in Step 2 above
- Go to Deploy pillar → Clouds & Deployments
- Click on Nginx Tab
- Lookup the nginx entry
- Open the Service Operations menu
- Click Restart Service
Restart Service
This operation will restart your service using the exact same settings that were used to deploy it in the first place.
The SOAJS deployer inside the SOAJS image will run and clone the SOAJS Dashboard default UI again, if there are changes then they will be pulled then it will check if you have any Custom UI modules if you have provided them in the recipe and pulls them as well.
Then it will build the upstream configuration to point to the SOAJS Controller and create the virtual host entry for the Dashboard UI widget and start the nginx server.
While the deployer is running, your old nginx remains operational until the new one is flagged as running by either Docker Swarm or Kubernetes depending on which of the two drivers you have chosen.
When the new nginx becomes ready, then the old one will be terminated; your Nginx is now updated and is using the latest image.