/awesome-azure-iot-edge

Azure IoT Edge resources

Creative Commons Attribution 4.0 InternationalCC-BY-4.0

My-Azure-IoT-Edge-Resources Awesome

A curated list of awesome Azure IoT Edge projects and resources.

Docker Create Options

There are many options for the CreateOptions that will enable features for a module. Setting up a Volume to persist data? Exposing a port on the host? Using Privileged mode to enable access to hardware on the UArt? It can be done in the create options. The trick is to go to the docker documentation for all the options:

Redis

Using Redis on IoT Edge is really simple. I've used a regular redis docker image as an edge module. I've also tried the RedisEdge module but found the main Redis docker easier to customize.

Dotnet Docker images

There are lots of options for how to build a dotnet docker image. Set the base image to Alpine linux to reduce the size for example.

Docker commands

Tricks to inspect or debug modules.

Export the contents of a module and then inspect the folder structure.

  • docker export (Docker Container ID) -o module.tar
  • tar -xf module.tar

Attach to a module with a shell. Useful to debug networking.

  • docker exec -it (Docker Container Id) /bin/bash

Remove a module from the local edge device container registry. This will force the edgeAgent to reload it from the remote container registry.

  • docker rmi -f (ContainerRegistry\ModuleName:tag)

Developer Tools

Project Templates

  • Custom module
    • .Net Core module - Run dotnet CLI to generate C# or F# module project.
    • Python module - Run cookiecutter to generate Python module project.
    • Node.js module - Run yo to generate Node.js module project.
    • C module
    • Java module

Modules

Samples & Docs