App versions in Docker

Now that you're learning Docker Compose for managing multi-container apps, it's important to remember that every app with dependencies, will also have version requirements for those dependencies.

If you add an app and a database to a Compose file, then that app is going to have specific database versions it is compatible with.

Version dependencies aren't new, so they aren't technically a Docker thing, but we *do* use Docker and Compose to control versions of apps like Drupal, PostgreSQL, MySQL, Redis, Wordpress, etc.

Therefore, when building your Dockerfile and docker-compose.yml file, remember that you'll need to check the compatible versions in that apps documentation.

Coming up

In the next few Assignments, you'll be using a Drupal web server with a compatible database server. For this course, I pick specific versions of these dependencies so they are certain to work together. I've done the research and found which versions work together through reading and testing.

You may need to do the same, especially if you want to use versions together that I haven't tested.  I will often leave old versions in this course (as long as they still work) for several reasons:

1. During your career, you'll be running lots of old versions of apps. It's worthwhile learning about how various app versions work together with other apps. 
2. Learning "the latest version of every sample app" isn't the focus of this course, but rather how to manage *any* versions of an app in Docker and Kubernetes.

Now let's build some Compose files!