1. Rename `.env.tmp` in the root of the repo to `.env` and set the `IOTHUB_CONNECTION_STRING` and `DEVICE_CONNECTION_STRING` values to settings from your IoT Hub and Edge Device. To set these values you could run `iotedgedev iothub setup` in the root of the repo.
- Be sure to check whether you are running in Linux container mode or Windows container mode.
- Linux
- We've seen some issues with docker.io. If IoT Edge doesn't run for you, then try installing Docker CE directly instead of via docker.io. Use the [CE install steps](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-docker-ce), or use the [convenience script](https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-using-the-convenience-script).
- By default, you need `sudo` to run `docker` commands. If you want to avoid this, please follow the [post-installation steps for Linux](https://docs.docker.com/install/linux/linux-postinstall/#manage-docker-as-a-non-root-user).
- macOS: The OpenSSL used by the system built-in Python is old and vulnerable. Please use Python installed with [Homebrew](https://docs.brew.sh/Homebrew-and-Python).
Developing with docker using VSCode's [remote containers](https://code.visualstudio.com/docs/remote/containers):
- Install [Remote Development Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack) in VSCode
- Open the project in VSCode
- When prompted by VSCode, select "Reopen in Container"
> To further customize your devcontainer checkout [Personalizing with `dotfile` repositories](https://code.visualstudio.com/docs/remote/containers#_personalizing-with-dotfile-repositories). In the same settings you're also able to add personal extensions for your container.
#### Without VSCode
- Build the development environment: `docker build -f .devcontainer/Dockerfile -t dev .`
- Mount the root directory into the docker container, and drop into a bash shell in the container:
```bash
docker run -it -v ${PWD}:/workspaces/iotedgedev iotedgedev
VS Code Debugging works only with Python 3.6 VS Code Python Environments for now. Make sure that your VS Code Python Environment is [pointing to Python 3.6](https://code.visualstudio.com/docs/python/environments#_how-to-choose-an-environment)