Reimaging is the process by which you can update the image of an already deployed container. Any time you have an update to your container, you'll reimport the image into Cycle, then reimage the container, which will update it across all of your infrastructure. To get to the reimaging form, follow these steps:
- Click the Environments tab on the navigation menu to the left.
- Select the environment the container you want to modify is deployed to.
- Click the Containers tab under the environment name.
- Select the container from the list.
- Click the Settings tab under the container name.
The reimage form will be populated with any compatible images for deployment. An image is considered "compatible" when the volume paths match. Select your recently imported image (it will appear at the top), and then click reimage.
When you press the Reimage Container button, a few things will be set in motion.
- Cycle will start to copy over the image from your image storage to the server.
- For every 50mb of image size Cycle will give the image a one second head start.
- After the head start clears, the platform will stop the currently running container and prepare to start the new image.
- Once the image finishes copying and the old image is stopped the new image will be started.
Reimaging your container will shut it down during the reimaging process.
There is no guarantee that your image will finish downloading before the container is stopped. As noted above the image is given a headstart to minimize the amount of "transition" time between when your old container stops and the new one starts. Should the image download not be completed, no additional steps are needed on the part of the user. Cycle will automatically start the containers after the image has been fully downloaded.
Reimaging replaces the container image - none of your config options will be changed.
Under the reimage dropdown menu is a toggle for advanced reimage options.
The two advanced options are:
- Allow Incompatible Images - Allow images not determined to be compatible with this container to be selected for reimaging.
- Overwrite Runtime Config - If selected, your existing container's runtime config will be overwritten by the default runtime config for this image.
The ability to allow incompatible images was developed in order to facilitate image name changes, so that if you were to import an image with a different name but that was meant to replace your current image you'd still be able to use that image.
In the same vein, overwriting the runtime config is a way for a user to tell Cycle the incoming image has a brand new configuration that should replace all changes the user has made to the existing containers configuration.
If you've got questions about the platform or need some help getting started, our team is more than happy to assist. Whether you're new to containers or just new to Cycle, reach out to us via livechat by clicking the blue circle in the bottom right corner. Join our Slack channel, and get help from the dev team or other members of the community, and check out our Roadmap to see what's planned for the future!