Convert your docker-compose Project to Azure IoT Edge Solution

Xin Shi


If you are a container expert, you may want to port your existing compose application to Azure IoT Edge. We are glad to introduce iotedge-compose to help convert your docker-compose project to Azure IoT Edge. Let us see how it works.


Install the Tool and Convert a Sample Project

  1. Install the tool by running the following command
  2. Clone a sample docker-compose project
  3. Run the sample application
  4. Enter http://localhost:5000/ in a browser to see the application running
  5. Press CTRL+Z or run docker-compose down in the terminal to stop the sample app.
  6. Convert this compose app project to IoT Edge app project by running the following command

Build and deploy converted project to IoT Edge device

Now you should see an app-edge folder in the root folder, this folder is the converted Azure IoT Edge project.

  1. Open app-edge project with VS Code
  2. Update the .env file with your Azure Container Registry info.
  3. Update the repository URL in module.json
  4. Login your docker registry with docker CLI and then click Build and Push the IoT Edge Solution in the context menu of deployment.template.json
  5. Create a deployment against your IoT Edge device id in Azure IoT Hub explorer with config/deployment.amd64.json file. After a few seconds, you can see the module icon showing in the treeview. (The demo app does not include Azure IoT Device SDK, so both the web and redis module cannot return module status)
  6. If you can access the IoT Edge device via public IP with port 5000 allowed, the demo page can be visited in your browser with http://<IoTEdgeDeviceAddress>:5000/


This blog walks you through the basic usage of the iotedge-compose tool with a hello world application. You can check the iotedge-compose tool page or the sample repo readme to learn more. Send your feedback to and let us know your feedback!


Xin Shi
Xin Shi

Program Manager II, Azure IoT Developer Experience

Follow Xin   


Comments are closed.