Container Management
Introduction
This section will outline the steps necessary to patch and maintain the CMS software delivered as containers.
Patch Docker Host
Purpose
Deploy the latest updated to the Docker host itself.
Permission Level
Docker Host Administrator
Notes
- You will likely need to enable the firewall ruleset that allows SSH access into the Docker host.
Steps
Step |
Instructions |
Notes |
1 |
Connect to Azure and enable the NSG rule for the Docker Host. |
See the configuration table for details. |
2 |
Connect via SSH to the host. |
SSH credentials are stored separately. |
3 |
Execute sudo apt update |
Will update the package lists. |
4 |
Execute apt list --upgradable |
Will show you any updates. |
5 |
Execute sudo apt upgrade -y |
Force all components to update. |
6 |
Execute sudo reboot |
Reboot. |
7 |
Execute cd /mnt/cms |
Change into the folder containing the docker compose file. |
8 |
Execute docker ps -a |
If containers are not started, run the docker compose up -d command as needed.
There is the potential for a dependent container to still be booting.
If necessary, execute docker logs [container name]. |
Update Containers
Purpose
Update all containers in the CMS service to the latest version.
Permission Level
Docker Host Administrator
Notes
- You will likely need to enable the firewall ruleset that allows SSH access into the Docker host.
Steps
Step |
Instructions |
Notes |
1 |
Connect to Azure and enable the NSG rule for the Docker Host. |
See the configuration table for details. |
2 |
Connect via SSH to the host. |
SSH credentials are stored separately. |
3 |
Execute cd /mnt/cms |
Change into the folder containing the docker compose file. |
4 |
Execute docker compose down |
This will stop and remove all currently running components. |
5 |
Execute docker compose pull |
This command forces Docker to check all required images in the Docker compose file and pulls the latest version. |
6 |
Execute docker compose up -d |
This will use the docker-compose.yml file to rebuild the server, this includes loading in the updated appsettings.json files. |
7 |
Execute docker ps -a |
If containers are not started, rerun the command above.
There is the potential for a dependent container to still be booting.
If necessary, execute docker logs [container name]. |
8 |
Execute docker system prune -a |
This will clean up old containers and networks and keep the system clean and healthy. |