# Problems with understanding the development of Discourse

**URL:** <https://meta.discourse.org/t/problems-with-understanding-the-development-of-discourse/196966>\
**Category:** Development\
**Created:** [July 13, 2021, 9:22am UTC](https://meta.discourse.org/t/problems-with-understanding-the-development-of-discourse/196966 "2021-07-13T09:22:34Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![rudzainy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rudzainy/32/226573_2.png) [@rudzainy](https://meta.discourse.org/u/rudzainy)\
**Post date:** [July 13, 2021, 11:57pm UTC](https://meta.discourse.org/t/problems-with-understanding-the-development-of-discourse/196966/2 "2021-07-13T23:57:58Z")

</div>

> [@Mikhail\_Tyuftyaev](#):
>
> I don’t understand what docker is and why the files on the virtual machine are different from the files on the local computer.

[![](https://global.discourse-cdn.com/meta/original/4X/b/6/6/b66d256894bfd5e51bdc5c9727335d431d3925ab.jpeg "Docker in 100 Seconds") ](https://www.youtube.com/watch?v=Gjnup-PuquQ)

> [@Mikhail\_Tyuftyaev](#):
>
> What will happen if you stop docker on a virtual machine using the command `d/shutdown_dev` ?
> 
> How can I synchronize these two installations using Git?
> 
> Can I install docker on a local machine and for what?

Let me try to illustrate the flow:

1. Work on your codebase (inside `/discourse`).
2. Compile your codebase into a Docker Container.
3. Deploy that Docker Container to your production server.

One use case for running Docker locally is to test your newly compiled Docker Container before you deploy to your production server.

---

_[View the full topic](https://meta.discourse.org/t/problems-with-understanding-the-development-of-discourse/196966)._
