Software development has a variety of requirements to run an application, both on the development environment and the production environment. Modern IT infrastructure relies on containers instead of traditional virtual machines, this is because containers provide multiple advantages over VMs, such as fast booting, networking between containers, and lightweight processing which means less hardware consumption when compared to VMs. in this article we will create a docker based development environment for RESTful flask applications using docker compose. This stack can be used either for either a production environment or a development one as you can see in the following diagram:

Docker compose diagram

Migrating file structures between Linux based hosts may sound like a very easy task and in most cases this is true, as it may just be about compressing the whole thing and using:

scp <host> <another_host>

However, there are some situations where this could be very painful task to complete, like when all your permissions accidently change!

A projects environment often requires different permission levels across different files and directories. When you migrate a complex file structure from one host to another, the migrated project’s file permissions may change in the new host, this case might happen for example if…

Faraj Alhapony

Doing DevOps and system administration stuff

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store