Files
docker-docs/desktop/dev-environments/specify.md
Allie Sadler 1645a61593 Dev environments updates - Merge for DD 4.10 (#15001)
* created new folder strcuture for dev envs

* redistributed content and added to the toc

* fix boken links

* change preview to beta

* fix links

* aligned with style guide

* aligned with style guide

* added instructions on subfolder

* updated screenshots

* updated screenshots

* fix link

* fix link

* added knonw limitations

* minor tweaks
2022-06-30 17:05:51 +01:00

46 lines
1.5 KiB
Markdown

---
description: Dev Environments
keywords: Dev Environments, share, collaborate, local, Dockerfile, specify, base image
title: Specify a Dockerfile or base image
---
## Specify a Dockerfile
Use a JSON file to specify a Dockerfile which in turn defines your Dev Environment. You must include this as part of the `.docker` folder and then add it as a `config.json` file. For example:
```jsx
{
"dockerfile": "Dockerfile.devenv"
}
```
Next, define the dependencies you want to include in your `Dockerfile.devenv`.
While some images or Dockerfiles include a non-root user, many base images and Dockerfiles do not. Fortunately, you can add a non-root user named `vscode`. If you include Docker tooling, for example the Docker CLI or `docker compose`, in the `Dockerfile.devenv`, you need the `vscode` user to be included in the `docker` group.
```dockerfile
# syntax=docker/dockerfile:1
FROM <your base image>
RUN useradd -s /bin/bash -m vscode \
&& groupadd docker \
&& usermod -aG docker vscode
USER vscode
```
## Specify a base image
If you already have an image built, you can specify it as a base image to define your Dev Environment. You must include this as part of the `.docker` folder and then add it as a `config.json` file. For example, to use the Jekyll base image, add:
```jsx
{
"image": "jekyll/jekyll"
}
```
> **Note**
>
> This configuration is to unblock users for the Beta release only. We may move this configuration for single and multi-container applications to a Compose-based implementation in future releases.