Updating a Container with Docker Compose

Updating a Container with Docker Compose
💡
Last updated: 10/20/23

Introduction

Leveraging Docker Compose simplifies the process of managing Docker containers, including their updates. If you've already acquainted yourself with downloading and using Docker containers, updating them will be a breeze.

Prerequisites

  • Data Persistence: One crucial aspect to remember is the potential data loss during the container update process. Unless you've configured persistent volumes in your docker-compose.yml file, updating your container might wipe out data associated with it. Essentially, it would be like setting up the container anew.
  • Identifying Persistent Volumes: In your Docker Compose file, you can identify persistent volumes with the volumes: tag. Here's a quick example:
---
version: "2"
services:
  homer:
    image: b4bz/homer
    container_name: homer
    volumes:
      - /home/tcude/docker/homer/data:/www/assets
    ports:
      - 8092:8080
    #environment:
    #  - UID=1000
    #  - GID=1000
    restart: unless-stopped

Updating

With that out of the way, let's get to updating!

Fetch the Latest Image: Navigate to your container's directory that houses the Docker Compose file. Execute the command:

docker compose pull

Docker will relay an output indicating whether it's pulling the newest container image.

Deploy the Updated Container: With the latest image in tow, deploy the container using:

docker compose up -d

Docker will refresh the container using this new image. The entire process appears as follows:

Note: If your container is already updated, Docker will provide a specific output notifying you of the same.

Conclusion & What's Next

There you have it—an efficient way to keep your Docker containers updated using Docker Compose. The entire process is streamlined into two primary commands.

Liked this Guide? Stay Updated!

If this guide offered value, consider subscribing to my RSS feed. Get the latest updates and more insightful guides directly in your reader: https://tcude.net/rss