-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
17b0953
commit 0e65c37
Showing
3 changed files
with
32 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"cSpell.words": [ | ||
"Codespaces", | ||
"devcontainer", | ||
"Devcontainers" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,36 @@ | ||
# devcontainer-presentation | ||
# Dev Container Presentation / Demo | ||
|
||
> 🚨 This project is used for giving _devcontainer presentations/demos_. It utilizes Rust and Postgres, but is not meant to show "good" or production ready Rust or Postgres code. Their usage is more to show how a stack can be spun up in isolation from the host machine, while still interacting with each other quickly and reliably in a fully configured dev environment. | ||
> 🚨 This project is used for giving _dev container presentations/demos_. It is not meant to show "good" or production ready code. The purpose is to show how a fully configured development environment can be spun up in isolation from the host machine in minutes. | ||
## What is a devcontainer | ||
## What is a `dev container`? | ||
|
||
_Devcontainers are a feature currently shipping in VSCode (as an extension) utilizing containers to create fully configured and version controlled development environments._ | ||
_`Dev Containers` are a feature currently shipping for [Visual Studio Code](https://code.visualstudio.com/) (as an extension) utilizing [containers](https://www.docker.com/resources/what-container/) to create fully configured and version controlled development environments._ | ||
|
||
### Great what does that give me? | ||
|
||
* Team members are always working from the same foundation on a project: | ||
* Team members are always working from the same: | ||
* Base Operating System | ||
* Network Stack | ||
* Required Extensions and Configuration | ||
* CLI Tools | ||
* Host OS Agnostic (Only Requires something like Docker to run the containers) | ||
* The local development environment can be version controlled and changes distributed to the team. | ||
* Development Environments can be hosted in the cloud (Examlpe: GitHub Codespaces) | ||
* Host OS agnostic. | ||
* Full project setup in minutes. | ||
* Version controlled Development experience. | ||
* Can be hosted in the cloud (Example: [GitHub Codespaces](https://github.com/features/codespaces)). | ||
|
||
### Downsides | ||
|
||
* Can be a little slower than running the stack on the Host OS. | ||
* If running on Apple Silicon, some containers are still a little flakey as some software is still transitioning. | ||
* 🚨 I picked this stack for the devcontainer as it currently is one of those flakey containers and I want to show what to do when things go wrong. | ||
* Slower than running on the Host OS. | ||
* Currently a [Visual Studio Code](https://code.visualstudio.com/) and [GitHub Codespaces](https://github.com/features/codespaces) _ONLY_ feature. | ||
* [Currently being standardized](https://containers.dev/). | ||
* [Other vendors](https://youtrack.jetbrains.com/issue/IDEA-292050/Support-for-.devcontainer#focus=Comments-27-6005224.0-0) are looking to adopt. | ||
* Flakey containers if running on arch64 (Example: Apple Silicon). | ||
* Software is still transitioning. | ||
* This is more of a Docker issue than a `dev container` issue. | ||
* > 🚨 _I picked this stack for this project as it currently is one of those flakey containers and I want to show what to do when things go wrong._ | ||
## Requirements | ||
|
||
* [Docker](https://www.docker.com/) | ||
* [Visual Studio Code](https://code.visualstudio.com/) | ||
* [Dev Containers Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) |