Original Post: https://medium.com/techoverbygst/dev-container-everyone-should-know-in-software-development-world-ce028938ed16
I started working with Docker and Container almost 7 or 8 years ago, but I focused 2 last year on architecting on the Cloud. Docker, known for the motto Build, Ship, Run, changed the Software development world a lot, especially web-based.
![](https://i0.wp.com/miro.medium.com/max/700/1*c4AR_yiRRKx3rvw1OKJ5pA.png?resize=593%2C277&ssl=1)
We know that we can run software with Docker everywhere, and we make the development and production environment closer and closer, but I have thought: Can we make the development environment between developer and developer closer with Docker, even unify?
I used Docker Compose in almost project; it’s worked well to make a database or messaging broker (Kafka) unified, but except for co-workers’ code, they tend to make the change locally and run it natively with their PC and Workstation, for e.g: run php artisan serve
with Laravel or go build && go run
with Golang. There are many pain points with many bugs because of so f**king many variables in their environment: Go Version, Php Version, Composer Version.
Visual Studio Code Remote — Containerswill solve this problem. I know about it at random. I am trying to fork WikiJS for internal use wiki in GST, and WikiJS teams are using Remote Container.
![](https://i0.wp.com/miro.medium.com/max/968/0*-HlvDFIbcyiJF0lF.png?resize=591%2C236&ssl=1)
To run and update code, I have not to install specific required NPM, Database, Vue package, or even Elastic Search. It’s packed with a configured devcontainer.json
and simple docker-compose.yml
to define the environment and creating process.
![](https://i0.wp.com/miro.medium.com/max/560/1*LPuOTkuiRkaCryv9O9TYdQ.png?resize=587%2C489&ssl=1)
We just need to install Remote Container extension in VSCode and reopen the current project in container view, Extension and Docker will do the rest.
![](https://i0.wp.com/miro.medium.com/max/560/1*mYiVdKH2Mw29ZbryrwF_Kw.png?resize=593%2C138&ssl=1)
![](https://i0.wp.com/s3.ap-southeast-1.amazonaws.com/techover.storage/wp-content/uploads/2021/04/04223040/Screen-Shot-2021-04-04-at-10.30.00-PM.png?resize=803%2C242&ssl=1)
Happy Coding!