simplifying embedded and iot development using linux ... · architecture environments registry...
TRANSCRIPT
![Page 1: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/1.jpg)
Simplifying Embedded and IoT Development Using Linux Containers
Yan Vugenfirer - [email protected] Dmitry Fleytman, PhD - [email protected]
![Page 2: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/2.jpg)
We feel developers’ pain
![Page 3: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/3.jpg)
Build environments frustration
Conflicts
Toolchains
Packages Versions
Compilers
Updates
![Page 4: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/4.jpg)
Build environments frustration
It works on my machine!!!
![Page 5: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/5.jpg)
Solution
Leverages containers technology Seamless usage of multiple environments Environments are easily created and shared No more “works on my machine”
![Page 6: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/6.jpg)
![Page 7: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/7.jpg)
Underlying magic
Leverages Linux containers
Enables correct file permission and ownership
Works on any modern OS
![Page 8: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/8.jpg)
What are containers?
Linux Containers - is an operating-system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel.
![Page 9: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/9.jpg)
What is container’s image?
A lightweight, stand-alone, executable package that includes everything needed to run a piece of software, including the code, a runtime, libraries, environment variables and config files.
![Page 11: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/11.jpg)
Architecture
Environments registry
Rebuild native registry
DockerHub Docker private registry
Rebuild CLI
Docker Engine
![Page 12: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/12.jpg)
Rebuild CLI
![Page 13: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/13.jpg)
CLI concepts
Seamless usage for developer
No knowledge of Docker, Docker files or other container technologies is needed
![Page 14: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/14.jpg)
CLI concepts: Manage local environments
Manage environments on local machine
List - lists local environments
Remove (rm) - deletes local environment
Save\load - saves or loads to\from container image
![Page 15: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/15.jpg)
CLI concepts: Environment names and versioning
name:tag
Name - environment ID
Tag - should be used for tracking the version of the environment
![Page 16: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/16.jpg)
CLI concepts: Deploy
Deploy environment from remote registry to local machine
Search repository for environments
Need to be done once
Environment can be instantly used after deployment
![Page 17: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/17.jpg)
CLI concepts: RunRun the environment
Environment doesn’t change in the process of running
Can be used in interactive mode or to run just one command
Changes to local files are preserved with correct permissions and ownership
![Page 18: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/18.jpg)
CLI concepts: Create
Create new environment
From base image from DockerHub
From archive of a file system
![Page 19: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/19.jpg)
CLI concepts: Modify, status and commit
Change existing environment
Modify - instructs rebuild to track changes in existing environment
Status - shows environments’ status
Commit - saves the changes and create new tag for the environment
![Page 20: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/20.jpg)
CLI concepts: Publish
Share your work
“Pushes” the environment to repository
![Page 21: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/21.jpg)
Images saved to public cloud
Images can be shared with everybody
Images from official repositories can be used as base images for new environments
Registry: DockerHub
![Page 22: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/22.jpg)
Registry: Docker private registry
Docker enterprise or community addition of private registry
Internal to your organisation
Might need additional configurations
![Page 23: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/23.jpg)
Registry: Rebuild Native registry
Easy to deploy and use in production
Lightweight
Internal for your organisation
No configuration is needed
![Page 24: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/24.jpg)
Supported OSes
![Page 25: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/25.jpg)
Installation
![Page 26: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/26.jpg)
Installation - dependencies
Docker engine
Ruby 2.0+
![Page 27: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/27.jpg)
Installation
![Page 28: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/28.jpg)
Quick start
Run: rbld help
Already configured to deploy environments from Rebuild DockerHub repositories
Can create environments based on DockerHub
![Page 29: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/29.jpg)
Get Help
![Page 30: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/30.jpg)
$HOME/.rbld/rebuild.conf
#DockerHub REMOTE_NAME=origin REMOTE_TYPE_origin="dockerhub" REMOTE_origin="<NAMESPACE>/<REPOSITORY>"
Configuration: DockerHub
![Page 31: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/31.jpg)
Configuration: Rebuild registry
$HOME/.rbld/rebuild.conf
#Rebuild registry REMOTE_NAME=origin REMOTE_TYPE_origin="rebuild" REMOTE_origin="<ABSOLUTE PATH TO REGISTRY ROOT DIRECTORY>"
![Page 32: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/32.jpg)
$HOME/.rbld/rebuild.conf
#Docker registry REMOTE_NAME=origin REMOTE_TYPE_origin="docker" REMOTE_origin="<REGISTRY IP>:<PORT>"
Configuration: Docker Registry
![Page 33: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/33.jpg)
Environment deployment
![Page 34: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/34.jpg)
Environment deployment - search in registry
![Page 35: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/35.jpg)
Environment deployment
![Page 36: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/36.jpg)
Environment deployment
![Page 37: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/37.jpg)
Usage
![Page 38: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/38.jpg)
Usage - single command
![Page 39: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/39.jpg)
Usage - interactive
![Page 40: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/40.jpg)
Environment creation
![Page 41: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/41.jpg)
Environment creation
[test@rebuild-fedora23-1~]$rbldcreate--baseubuntu:15.10ubuntu1510
Downloadingthebaseimage...Tryingtopullrepositorydocker.io/library/ubuntu...15.10:Pullingfromlibrary/ubuntu
...
Successfullycreatedubuntu1510:initial
![Page 42: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/42.jpg)
Environment creation
[test@rebuild-fedora23-1~]$rbldcreate--basefilealpine34.tar.gzalpine34
Buildingenvironment...
...
Successfullycreatedalpine34:initial
![Page 43: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/43.jpg)
Environment modification
![Page 44: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/44.jpg)
Modify[test@rebuild-fedora23-1~]$rbldmodifyubuntu1510--\"sudoapt-getupdate&&\sudoapt-getinstall-ygcc"
Initializingenvironment[.....]>>>rebuildenvubuntu1510:initial-M>>>sudoapt-getupdate&&sudoapt-getinstall-ygccHithttp://archive.ubuntu.comwilyInRelease
...
Processingtriggersforlibc-bin(2.21-0ubuntu4.3)...<<<rebuildenvubuntu1510:initial-M
![Page 45: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/45.jpg)
Modify - interactive mode
[test@rebuild-fedora23-1~]$rbldmodifyubuntu1510:initial
Initializingenvironment[.....]>>>rebuildenvubuntu1510:initial-Minteractive>>>PressCTRL-Ddoleavetest@ubuntu1510:initial-M:~$
![Page 46: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/46.jpg)
Get status
[test@rebuild-fedora23-1~]$rbldstatus
modified:ubuntu1510:initial
![Page 47: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/47.jpg)
Commit changes to environment
[test@rebuild-fedora23-1~]$rbldcommit--tagv001
![Page 48: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/48.jpg)
Revert changes
[test@rebuild-fedora23-1~]$rbldcheckoutubuntu1510:initial
![Page 49: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/49.jpg)
Environment-wide variables[test@rebuild-fedora23-1~]$rbldmodifyubuntu1510:initial
Initializingenvironment[.....]>>>rebuildenvubuntu1510:initial-Minteractive>>>PressCTRL-Ddoleavetest@ubuntu1510:initial-M:~$sudovi/rebuild/rebuild.rctest@ubuntu1510:initial-M:~$cat/rebuild/rebuild.rc#Thisistherebuildenvironmentdefinitionfile.#Definerequiredenvironmentvariableshere.##NOTE:Makesuretoprefixdefinitionswith#'export'directive,i.e.#exportMY_PATH=/path/to/some/locationexportCC=clang
test@ubuntu1510:initial-M:~$exit<<<rebuildenvubuntu1510:initial-M
![Page 50: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/50.jpg)
gitclonegit://github.com/raspberrypi/tools.gitrpi-tools
rbldcreate--baseubuntu:16.04rpi-raspbian
rbldmodifyrpi-raspbian:initial
>>sudoapt-getupdate>>sudoapt-getinstall-ymake>>TOOLCHAIN=gcc-linaro-arm-linux-gnueabihf-raspbian-x64>>sudocp-rrpi-tools/arm-bcm2708/$TOOLCHAIN/>>echoexportCC=/$TOOLCHAIN/bin/arm-linux-gnueabihf-|sudotee-a/rebuild/rebuild.rc>>exit
rbldcommitrpi-raspbian--tagv001
Putting all together
![Page 51: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/51.jpg)
Sharing environments - publishing to registry
[test@rebuild-fedora23-1~]$rbldpublishqemu-fc22:v001
Checkingforcollisions...
Publishingat10.0.110.110:5000...
...
Successfullypublishedqemu-fc22:v001
![Page 52: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/52.jpg)
Sharing environments - saving and loading from file
[test@rebuild-fedora23-1~]$rbldsaveqemu-fc20:v001
Successfullysavedenvironmentqemu-fc20:v001toqemu-fc20-v001.rbld
[test@rebuild-fedora23-1~]$rbldloadqemu-fc20-v001.rbld
Successfullyloadedenvironmentfromqemu-fc20-v001.rbld
![Page 53: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/53.jpg)
DebuggingRebuild CLI
RBLD_LOG_LEVEL - info, warn, error and fatal
RBLD_LOG_FILE - save logs to file
Environment bootstrap tracing
RBLD_BOOTSTRAP_TRACE - set to 1 to enable environment startup tracing for rbld run and rbld modify.
![Page 55: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/55.jpg)
Summary
Seamless usage
Isolated environments
Easy to share the environments between team members
![Page 56: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/56.jpg)
Enterprise Dashboard with role management
Multiple registries support
Support for additional image registries
USB redirection for non-Linux hosts
Future plans
![Page 57: Simplifying Embedded and IoT Development Using Linux ... · Architecture Environments registry Rebuild native registry Docker private DockerHub registry Rebuild CLI Docker Engine](https://reader035.vdocuments.mx/reader035/viewer/2022070914/5fb504e12a0c1c653300afab/html5/thumbnails/57.jpg)