yahboom
HomeTutorialsProduct
Solution
Blog
Online Store
About Us
EN/中文
Store
ROSMASTER M1 PRO📖
0.Robot Configuration and Operation Guidelines
  • 0.Unboxing and Review
  • 1.Assembly Videos
  • 2.User Manual
  • 3.Enter Docker (For Raspberry Pi)
  • 4.FAQ
  • 5.RobotManager User Guide
1.Chassis Control Course
  • 1.Robot Information Publishing
  • 2.Robot Handle Control
  • 3.Robot Keyboard Control
  • 4.Linear Velocity Calibration
  • 5.Angular Velocity Calibration
  • 6.Robot URDF Model
  • 7.Robot EKF State Estimation
2.Lidar Course
  • 1.Lidar Introduction And Use
  • 2.Lidar Obstacle Avoidance
  • 3.Lidar Following
  • 4.Lidar Guard
  • 5.Lidar Patrol
  • 6.GMapping-SLAM Mapping
  • 7.Cartographer-SLAM Mapping
  • 8.Slam-Toolbox Mapping
  • 9.Lifelong Mode Mapping
  • 10.Navigation2 Single Point Navigation
  • 11.Navigation2 Multi Point Navigation
  • 12.Cartographer Relocalization Navigation
  • 13.Slam-Toolbox Localization Navigation
  • 14.Synchronous Mapping And Navigation
  • 15.Aruco Visual Relocalization Navigation
  • 16.Mobile App Mapping And Navigation
3.USB Camera-Depth Camera Course
  • 1.USB Camera Introduction
  • 2.USB Camera Intrinsic Calibration
  • 3.Nuwa-HP60C Camera Introduction (Depth Camera Only)
  • 4.Depth Pseudo Color Image (Depth Camera Only)
  • 5.Depth Camera Distance Measurement (Depth Camera Only)
  • 6.Block Volume Calculation (Depth Camera Only)
  • 7.Edge Detection (Depth Camera Only)
  • 8.RTAB-Map SLAM Mapping (Depth Camera Only)
  • 9.RTAB-Map Navigation (Depth Camera Only)
4.Robotic Arm and 3D Space Gripping Course
  • 1.Robotic Arm Basic Usage
  • 2.Robotic Arm Kinematics
  • 3.Robotic Arm Chassis Coordination Control
  • 4.AprilTag ID Sorting
  • 5.AprilTag Height Anomaly Sorting
  • 6.AprilTag Tracking and Grasping
  • 7.Color Block Sorting
  • 8.Color Block Height Anomaly Sorting
  • 9.Color Block Tracking and Grasping
  • 10.Wood Block Shape Sorting
  • 11.KCF Tracking and Grasping Objects
  • 12.Mediapipe Gesture ID Sorting AprilTag
  • 13.Mediapipe Gesture Height Sorting AprilTag
  • 14.Desktop Tracking and Grasping AprilTag
  • 15.3D Spatial Tracking AprilTag
  • 16.Transformer Model Tracking Algorithm
  • 17.Line Following Obstacle Clearing
5.Road network planning and navigation
  • 1.Introduction To Road Network Planning
  • 2.Road Network Annotation
  • 3.Planning And Navigation Between Waypoints
  • 4.Road Network Navigation In Any Pose
  • 5.Path Re-planning
6.OpenClaw Basic Course
  • 1.Introduction to OpenClaw
  • 2.OpenClaw Core Concepts
  • 3.OpenClaw API-KEY Configuration
  • 4.OpenClaw Switch Models
  • 5.OpenClaw System Prompt Words
  • 6.OpenClaw Common CLI Commands
7.OpenClaw Interaction Method
  • 1.OpenClaw Webchat Interaction
  • 2.OpenClaw Tui Interaction
  • 3.OpenClaw Voice Dialogue Interaction
  • 4.OpenClaw WhatsApp Interaction
8.OpenClaw Development
  • 1.OpenClaw Connecting to Robot MCP Service
  • 2.Robot CLI Command Tool
  • 3.robot-control Plugin Tool
  • 4.reply-bridge Plugin Tool
  • 5.OpenClaw Multimodal Vision
  • 6.OpenClaw Chassis Control
  • 7.OpenClaw Robotic Arm Control
  • 8.OpenClaw Skills Development
  • 9.OpenClaw Scheduled Tasks
  • 10.OpenClaw Multi-Agent Intelligent Agent
  • 11.OpenClaw Active Interaction
  • 12.OpenClaw Vector Memory
9.OpenClaw Embodied intelligent application
  • 1.OpenClaw Target Tracking
  • 2.OpenClaw Arm Tracking And Grasping
  • 3.OpenClaw Arm Fixed-point Placement
  • 4.OpenClaw Waste Sorting
  • 5.OpenClaw SLAM Mapping And Navigation
  • 6.OpenClaw Navigation Transport
  • 7.OpenClaw AprilTag Grasping
  • 8.OpenClaw Color Line Patrol
  • 9.OpenClaw Visual Distance Measurement
10.OpenClaw scenario sandbox
  • 1.Map Description and Props Placement
  • 2.Building the Sandbox Map
  • 3.Visual Relocalization Marker
  • 4.Map Mapping Marker
  • 5.Sandbox Scenario Comprehensive Case
11.AI Large Model Basics
  • 1.AI Large Model Types and Principles
  • 2.RAG Retrieval Enhancement and Model Training Samples
  • 3.Embodied Intelligent Robot System Architecture
  • 4.Embodied Intelligent Functions Core Source Code
12.AI large Model Development
  • 1.Register a Model Service Provider Account
  • 2.Configuring API-KEY
  • 3.Introduction to Dify
  • 4.Basic Dify Features
  • 5.AI Large Model Development - Chatbot
  • 6.Deploy the RAG Knowledge Base
  • 7.RAG Knowledge Base + Chatbot
  • 8.AI Agent Workflow
  • 9.Custom Wake-up Response
13.AI Model - Voice Version
  • 1.Semantic Understanding and Command Following
  • 2.Multimodal Visual Understanding
  • 3.Multimodal Visual Understanding and Robotic Arm Gripping
  • 4.Multimodal Visual Understanding and SLAM Navigation
  • 5.Robotic arm gripping+Multimodal visual understand+SLAM navigation
  • 6.Intention Understanding
14.AI Model - Text Version
  • 1.Semantic Understanding and Command Following
  • 2.Multimodal Visual Understanding
  • 3.Multimodal Visual Understanding and Robotic Arm Gripping
  • 4.Multimodal Visual Understanding and SLAM Navigation
  • 5.Robotic arm gripping+Multimodal visual understand+SLAM navigation
  • 6.Intention estimation
15.Mediapipe Visual Course
  • 1.Hand detection
  • 2.Posture detection
  • 3.Overall detection
  • 4.Facial Landmark Detection
  • 5.Face detection
  • 6.Face special effects
  • 7.3D object recognition
  • 8.Brush
  • 9.Finger control
  • 10.Palm target positioning
  • 11.Fingertip trajectory recognition
  • 12.Fingertip gesture control robotic arm
  • 13.Gesture grabbing and releasing objects
  • 14.Finger control robotic arm
  • 15.Medipipe gesture control robotic arm action group
16.MoveIt2 Simulation Course
  • 1.MovelT2 configuration
  • 2.MovelT2 simulation-reality linkage
  • 3.Random movement
  • 4.Forward kinematics design
  • 5.Inverse kinematics design
  • 6.Cartesian path
  • 7.Trajectory Planning
  • 8.Collision Detection
  • 9.Scene Design
  • 10.3D perception obstacle‑avoidance
17.Multi-vehicle Course
  • 1.Multi-vehicle Control
  • 2.Multi-vehicle Navigation
  • 3.Multi-vehicle Formation
18.YOLO26 Development
  • 1.CLI Use
  • 2.Object Detection
  • 3.Instance Segmentation
  • 4.Pose Estimation
  • 5.Image Classification
  • 6.Oriented Object Detection
  • 7.YOLOv26 + DeepSORT Tracking
  • 8.Monocular Depth Estimation
19.Control Board STM32 Driver Course
  • 0.Notes (Must Read)
  • 1.About Expansion Board
  • 2.STM32 Development Environment
  • 3.Button Control
  • 4.FreeRTOS Application
  • 5.Serial Communication
  • 6.SBUS Model Aircraft Remote Control
  • 7.CAN Bus Communication
  • 8.RGB Colorful Light Bar
  • 9.Timer Interrupt to Control PWM Servo
  • 10.Control Serial Port Servos
  • 11.Nine-axis Attitude Sensor to Obtain Data
  • 12.Control Motor
  • 13.Timer Captures the Encoder Data
  • 14.1 Kinematic Analysis of Mecanum Wheel
  • 14.2 Kinematic Analysis of Ackerman
  • 14.3 Kinematic Analysis of 4WD
  • 15.PID Control Robot Movement
20.Docker Course
  • 1.Docker Introduction and Installation
  • 2.Docker Basic Commands
  • 3.Docker Submission and Multi-Terminal Access
  • 4. Docker Startup Script
  • 5.Docker-Vscode Environment Construction
21.Image Processing Basics Course
  • 1. Introduction to Open Source CV
  • 2. Image reading and display
  • 3. Image writing
  • 4. Image quality
  • 5. Pixel Operation
  • 6. Image zoom
  • 7. Image cutting
  • 8. Image translation
  • 9. Image Mirroring
  • 10. Affine Transformation
  • 11. Image Rotation
  • 12. Perspective Transformation
  • 13. Grayscale processing
  • 14. Image Binarization
  • 15. Edge Detection
  • 16. Line drawing
  • 17. Rectangle and circle drawing
  • 18. Drawing text and pictures
22.Linux System Course
  • 1.Introduction to Linux system
  • 2.Ubuntu file system
  • 3.Ubuntu common commands
  • 4.Ubuntu common editors
  • 5.Ubuntu software operation commands
  • 6.Virtual machine installation
  • 7.SSH remote control
  • 8.VNC remote control
  • 9.Transfer files remotely
  • 10.Driver library and communication
  • 11.Static IP and hotspot mode
  • 12.Bind device ID
  • 13.Capacity expansion and resource allocation
  • 14.Update system software sources
  • 15.Set root user password
  • 16.sudo free password
  • 17.Connect to WiFi network
  • 18.View system version
  • 19.Customized service management
  • 20.Back up system image
23.ROS2 Basic Course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
24.Main Control Course
Jetson Orin Nano_NX
  • 1.Jetson Orin board introduction
  • 2.Restore the factory image system
  • 3.Backup SSD system
  • 4.SSD expansion
  • 5.Network configuration
  • 6.SSH remote login
  • 7.VNC remote control
  • 8.Remote file transfer
  • 9.Jtop tool
  • 10.Exchange space expansion
Raspberry Pi
  • 1. Introduction to Raspberry PI 5
  • 2. Raspberry PI system installation and backup
  • 3. Powering the Raspberry PI 5
  • 4. Startup of Raspberry PI 5
  • 5. Update and upgrade operating system
  • 6. Introduction to raspi-config tool
  • 7. config.txt file description
  • 8. Network Configuration
  • 9. remote access
  • 10. Transfer files remotely
  • 11. Set display resolution and rotation
  • 12. Set screen to sleep
  • 13. Play audio and video
  • 14. Using USB camera
  • 15. Using MIPI camera
  • 16. Get real-time temperature of Raspberry Pi
RDKX5
  • 1.Introduction to RDK X5 board
  • 2.Write system file
  • 3.Hardware interface description
  • 4.Install case and other accessories
  • 5.Network configuration
  • 6.Remote login
  • 7.Update system
  • 8.srpi-config user guide
  • 9.config. txt configuration file
  • 10.Self-startup setting
  • 11.RDK exclusive command usage
  • 12.Linux command usage
  • 13.GPIO readwrite operation
  • 14.Image classification algorithm
  • 15.Use USB camera
  • 16.Use MIPI camera
  • 17.Binocular camera depth algorithm
  • 18. Controlling RGB Cooling Fans
Download
  • System File
  • Code
  • 3D Model File
  • Software Tools
  • Hardware_Info
  • Deb function package
  • Dify AI Agent
Download ZIP

Welcome to ROSMASTER M1 PRO repository

1.Docker Introduction and Installation

Docker Overview and Docker Installation

Docker official website: http://www.docker.com

Docker Hub (registry) official website: https://hub.docker.com

1.1 Docker Overview

Docker is an open-source application container engine project developed in the Go language.

1.1.1 Why Docker Was Created

First, let us consider a few scenarios:

  1. The operations engineer deploys a project you developed to a server, then tells you it fails to start. You run it locally and it works fine...
  2. A project about to be released becomes unusable because some software has been updated to a newer version...
  3. A project involves a huge number of environment components — all kinds of middleware and configuration — and still has to be deployed on multiple servers...

In short, all of these problems come down to the environment. To avoid the various problems caused by environment differences, the best approach is to deploy the project together with all of the environments it requires. For example, if a project involves Redis, MySQL, JDK, Elasticsearch, and other environments, you bundle the entire environment when deploying the JAR package. The question then arises: how can a project be deployed along with its environment?

Docker is the solution to this problem!

1.1.2 Docker's Core Idea

image-20250815202323371

This is the Docker logo — a whale carrying a load of containers. On the whale's back, the containers are isolated from one another, and this is exactly Docker's core idea. For example, when multiple applications previously ran on the same server, there could be conflicts over port usage; now that they are isolated, each application can run independently. In addition, Docker makes the most of the server's capabilities.

1.1.3 Comparison Between Virtual Machines and Docker

  • The Docker daemon can communicate directly with the host operating system and allocate resources to each Docker container. It can also isolate the containers from the host OS and from one another. A virtual machine can take minutes to boot, whereas a Docker container can start within milliseconds. Because there is no bulky guest OS, Docker can save a great deal of disk space and other system resources.
  • Virtual machines are better at completely isolating an entire runtime environment. For example, cloud service providers typically use virtual machine technology to isolate different users. Docker, in contrast, is usually used to isolate different applications, such as the frontend, the backend, and the database.
  • Docker containers consume fewer resources than virtual machines and are much faster (to start, stop, create, and delete).

1.1.4 Docker Architecture

Docker uses a client-server architecture. The Docker client communicates with the Docker daemon, which shoulders the heavy work of building, running, and distributing Docker containers. The Docker client and the daemon can run on the same system, or you can connect the Docker client to a remote Docker daemon. The Docker client and the daemon communicate with each other through a UNIX socket or a network interface using the REST API. Another Docker client is Docker Compose, which lets you work with applications consisting of a group of containers.

image-20250815202355618

  • The Docker client is the docker command used directly after Docker has been installed.
  • Docker host is our Docker host machine (that is, the operating system on which Docker is installed).
  • The Docker daemon is Docker's background daemon process. It listens for and handles Docker client commands, and manages Docker objects such as images, containers, networks, and volumes.
  • The registry is the remote repository from which Docker pulls images. It provides a large number of images for download; after being downloaded, the images are stored in the local image repository (images).
  • The images repository is Docker's local image store; you can view the image files with the docker images command.

1.1.5 Docker Core Objects

image-20250815202412556

1.1.6 Image, Container, and Repository

Image:

A Docker image is a read-only template. An image can be used to create Docker containers, and one image can create many containers. It is similar to classes and objects in Java: the class is the image, and the container is the object.

Container:

xxxxxxxxxx
Docker uses containers to run one application or a group of applications independently. A container is a running instance created from an image. It can be started, begun, stopped, and deleted. Each container is isolated from the others, providing a secure platform. A container can be regarded as a simplified Linux environment (including root user privileges, process space, user space, network space, and so on) together with the applications running inside it. The definition of a container is almost identical to that of an image — both are a unified view of a stack of layers — the only difference being that the topmost layer of a container is readable and writable.

Repository:

​x
A repository is a place where image files are centrally stored. Repositories come in two forms: public repositories and private repositories.
​
The largest public repository is Docker Hub (https://hub.docker.com/), which stores a huge number of images for users to download. Public repositories in China include Alibaba Cloud, NetEase Cloud, and others.

It is necessary to correctly understand several concepts — the repository, the image, and the container:

  • Docker itself is a container runtime carrier, or what might be called a management engine. We package an application and its configuration dependencies into a deliverable runtime environment, and this packaged runtime environment is exactly the image file. Only through this image file can Docker containers be generated. An image file can be seen as a template for containers. Docker generates container instances from the image file. Multiple container instances can be generated from the same image file and run at the same time.
  • The container instance generated from an image file is itself also a file, called the image file.
  • Each container runs one kind of service. When we need it, we can create a corresponding running instance through the Docker client — that is, our container.
  • As for the repository, it is simply a place that holds a collection of images. We can publish images to the repository, and pull them down from the repository whenever needed.

1.1.7 Docker's Working Mechanism

The execution process of docker pull:

  1. The client sends the command to the Docker daemon.
  2. The Docker daemon first checks whether the relevant image exists in the local image store.
  3. If the image does not exist locally, it requests the image server and downloads the remote image to the local machine.

The execution process of docker run:

  1. Check whether the specified image exists locally; if not, pull it from the public repository.
  2. Create and start a container from the image.
  3. Allocate a file system (a simplified Linux system) and mount a readable and writable layer on top of the read-only image layer.
  4. Bridge a virtual interface from the host's configured bridge interface into the container.
  5. Assign an IP address to the container from the address pool.
  6. Execute the application specified by the user.

1.2 Docker Installation

  1. Official installation reference manual: https://docs.docker.com/engine/install/ubuntu/
  2. You can use the following command for one-click installation:
xxxxxxxxxx
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

⚠️ If network errors such as 443 occur during the installation, you may need to access the internet through a VPN.

  1. Check the Docker version
xxxxxxxxxx
sudo docker version

image-20250815202609880

  1. Test command

⚠️ If network errors such as 443 occur during the installation, you may need to access the internet through a VPN.

xxxxxxxxxx
sudo docker run hello-world

If the output is as shown below, Docker has been installed successfully.

image-20250815202713790

PID Control Robot Movement
Docker Basic Commands

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文