yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
SLAM LiDAR📖
01.Version differences
  • 1.About SLAM Lidar
02.SLAM Lidar (A1, A2, S1, S2, S3, C1)
  • 1.How to use lidar
03.Linux basic 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
04.ROS1 basic course
  • 1.ROS introduction
  • 2.ROS installation
  • 3.ROS common command tools
  • 4.ROS workspace
  • 5.ROS function package
  • 6.ROS node
  • 7.ROS topic publisher
  • 8.ROS topic subscribers
  • 9.ROS service client
  • 10.ROS service server
  • 11.ROS action client
  • 12.ROS action server
  • 13.ROS custom message reception
  • 14.ROS-launch file
  • 15.ROS-TF transformation
  • 16.ROS parameter service
  • 17.ROS-rviz use
  • 18.ROS-rqt tool usage
  • 19.Topic message recording and playback
  • 20.urdf model introduction
  • 21.gazebo introduction
  • 22.ROS distributed communication
05.ROS1 lidar course
  • 0.ReadMe
  • 1.Preparation
  • 2.Handheld lidar mapping
  • 3.Lidar avoiding
  • 4.Lidar guard
  • 5.Lidar follow
  • 6.Lidar mapping
  • 7.rrt_exploration mapping algorithm
  • 8.Navigation and avoiding
  • 9.APP Mapping and Navigation
  • 10.RTAB 3D mapping and navigation
06.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
07.ROS2 lidar course
  • 0.ReadMe
  • 1.Preparation
  • 2.Handheld lidar mapping
  • 3.Lidar avoiding
  • 4.Lidar follow
  • 5.Lidar guard
  • 6.gmapping mapping
  • 7.cartographer mapping
  • 8.Navigation and avoiding
  • 9.APP Mapping and Navigation
  • 10.RTAB 3D mapping and navigation
  • 11.Lidar patrol
08.Mapper M2 lidar course
  • 1.How to use M2M2lidar
09.High-speed version A1 lidar usage tutorial
  • 1.Preparation before using the high-speed version of A1 lidar
10.RaspberryPi5 Docker course
  • 1.Overview and installation
  • 2.Common commands
  • 3.Understand and publish images
  • 4.Hardware interaction data processing
  • 5.Enter docker container
  • 6.Update docker images
  • 7.Docker container to install ROS using accessories
Download
  • Code
  • VM File
  • Data Sheet
  • Just for Mapper M2 Lidar
  • Model File
  • PC_Software
  • ROS2_Basic_VM
Download ZIP

Welcome to SLAM LiDAR repository

2.Common commands

2.Common commands

 

2.Common commands2.1、do not use the sudo command2.2、help commands2.3、image command2.4、container commands2.5、common other commands2.6、Command Summary

2.1、do not use the sudo command

Usually, to operate docker commands, you need to add the prefix sudo, as follows:

sudo docker version

But after adding the docker user group, you don't need to add the sudo prefix. How to add a docker user group (run commands in the host running docker):

​x
sudo groupadd docker          # Add docker user group

sudo gpasswd -a $USER docker  # Add the current user to the docker user group, where $USER can automatically resolve to the currently logged in user

newgrp docker                 # Update the docker user group

After adding the above command, use the [docker images] command to test, if there is no error, it means that you can already use the sudo command. If the following error is reported:

xxxxxxxxxx
pi@ubuntu:~$ docker images
WARNING: Error loading config file: /home/pi/.docker/config.json: open /home/pi/.docker/config.json: permission denied

Run the following command on the host to solve the problem:

xxxxxxxxxx
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "/home/$USER/.docker" -R

After updating the docker user group, a new terminal may still show an error of insufficient permissions, just restart the board can sovle it

2.2、help commands

xxxxxxxxxx
docker info    # Displays Docker system information, including the number of images and containers.
docker --help  # help

 

2.3、image command

 

1、docker images (lists the images)

xxxxxxxxxx
# interpretation
REPOSITORY:  The repository source of the mirror
TAG: The label of the image
IMAGE ID: ID The ID of the image
CREATED: Image creation time
SIZE: Image size

# The same repository source can have multiple tags, representing different versions of this repository source, we use REPOSITORY:TAG to define different images, if you do not define the tag version of the image, docker will use lastest images by default!

# Optional
-a: Lists all local images
-q: Only the image ID is displayed
--digests: Displays the summary information of the image

 

2、docker pull (download image)

xxxxxxxxxx
#Usage method
docker pull [image warehouse address/image name:tag]
example: docker pull yahboomtechnology/ros-foxy:1.0.0
xxxxxxxxxx
# Such as download ubuntu image
jetson@ubuntu:~$ docker pull ubuntu         
Using default tag: latest           # Do not write tag, default is latest
latest: Pulling from library/ubuntu
cd741b12a7ea: Pull complete         # Layered download
Digest: sha256:67211c14fa74f070d27cc59d69a7fa9aeff8e28ea118ef3babc295a0428a6d21
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest     # Real Location

You can see that an new ubuntu image in here than before

 

3、docker search

xxxxxxxxxx
# Search for images
jetson@ubuntu:~$ docker search ros2
NAME                 DESCRIPTION          STARS           OFFICIAL           AUTOMATED
osrf/ros2           **Experimental** Docker Images for ROS2 deve…   60              [OK]
tiryoh/ros2-desktop-vnc      A Docker image to provide HTML5 VNC interfac…   11
althack/ros2          An assortment of development containers for …   7
tiryoh/ros2                                   unofficial ROS2 image                 
uobflightlabstarling/starling-mavros2           ROS2 version of MAVROS                   
# docker search The name of an image corresponds to the image in the DockerHub repository
# Optional
--filter=stars=50 : Lists images with a collection of no less than the specified value.

 

4、docker rmi (delete the image)

xxxxxxxxxx
# Delete the image
docker rmi -f [image id]                          # deletes a single
docker rmi -f [image name:tag] [image name:tag]   # Delete multiple
docker rmi -f $(docker images -qa)                # deletes all

 

2.4、container commands

To create a container with an image, we use the image of ubuntu here to test and download the image:

xxxxxxxxxx
docker pull ubuntu   

1、docker run

xxxxxxxxxx
# command
docker run [OPTIONS] IMAGE [COMMAND][ARG...]
# Description of common parameters
--name="Name" # Specify a name for the container
-d # runs the container in background mode and returns the ID of the container!
-i # runs the container in interactive mode by using it with -t
-t # reassigns a terminal to the container, usually used with -i
-P # random port mapping (uppercase)
-p # specifies the port mapping (summary), which can generally be written in four ways
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort (commonly used)
containerPort

# test
jetson@ubuntu:~$ docker images
REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
ubuntu                       latest    bab8ce5c00ca   6 weeks ago     69.2MB

# Use ubuntu to start the container in interactive mode and execute the /bin/bash command inside the container!
jetson@ubuntu:~$ docker run -it ubuntu:latest /bin/bash
# Enter exit

Example:

 

2、docker ps

xxxxxxxxxx
# command
docker ps [OPTIONS]
# Description of common parameters
-a # lists all currently running containers + historically run containers
-l # displays the most recently created container
-n=? # Displays the last n created containers
-q # silent mode, only the container number is displayed.

Example:

 

3、Exit the container

xxxxxxxxxx
exit        # The container stops exiting
ctrl+P+Q    # container does not stop exiting

 

4、Multiple terminals enter a running container

xxxxxxxxxx
# Command 1
docker exec -it [container id] [bashShell]

# test
jetson@ubuntu:~$ docker ps -a
CONTAINER ID   IMAGE           COMMAND       CREATED       STATUS       PORTS     NAMES
c54bf9efae47   ubuntu:latest   "/bin/bash"   2 hours ago   Up 4 seconds                       funny_hugle
3b9c01839579   hello-world     "/hello"      3 hours ago   Exited (0) 3 hours ago             jovial_brown

jetson@ubuntu:~$ docker exec -it c54b /bin/bash     # The ID of the container can be abbreviated, as long as it uniquely identifies the container
root@c54bf9efae47:/# 
xxxxxxxxxx
# command 2
docker attach [container id]

# test
jetson@ubuntu:~$ docker ps -a
CONTAINER ID   IMAGE           COMMAND       CREATED       STATUS       PORTS     NAMES
c54bf9efae47   ubuntu:latest   "/bin/bash"   2 hours ago   Up 35 seconds                      funny_hugle
3b9c01839579   hello-world     "/hello"      3 hours ago   Exited (0) 3 hours ago             jovial_brown

jetson@ubuntu:~$ docker attach c54b           # The ID of the container can be abbreviated, as long as it uniquely identifies the container
root@c54bf9efae47:/#

Difference:

exec is to open a new terminal in the container and a new process can be started, this method is generally used to enter the container

attach goes directly to the terminal of the container startup command and does not start a new process

5、Start and stop the container

xxxxxxxxxx
docker start   [container ID or container name] # Start the container
docker restart [container ID or container name] # Restart the container
docker stop    [container ID or container name] # Stop the container
docker kill    [container ID or container name] # Forces the container to stop

6、Delete the container

xxxxxxxxxx
docker rm [container id]                 # Deletes the specified container
docker rm -f $(docker ps -a -q)          # Delete all containers
docker ps -a -q|xargs docker rm          # Delete all containers

 

2.5、common other commands

1、View the process information running in the container and support ps command parameters.

xxxxxxxxxx
# command
docker top [container id]

# test
jetson@ubuntu:~$ docker ps -a
CONTAINER ID   IMAGE           COMMAND       CREATED       STATUS       PORTS     NAMES
c54bf9efae47   ubuntu:latest   "/bin/bash"   2 hours ago   Up 2 minutes                       funny_hugle
3b9c01839579   hello-world     "/hello"      3 hours ago   Exited (0) 3 hours ago             jovial_brown
jetson@ubuntu:~$ docker top c54b             
UID       PID      PPID      C       STIME      TTY       TIME        CMD
root      9667     9647      0       14:20      pts/0     00:00:00    /bin/bash

 

2、View the metadata of the container/image

xxxxxxxxxx
# Command
docker inspect [container id]

# Test viewing container metadata
jetson@ubuntu:~$ docker ps -a
CONTAINER ID   IMAGE           COMMAND       CREATED       STATUS        PORTS     NAMES
c54bf9efae47   ubuntu:latest   "/bin/bash"   2 hours ago   Up 4 minutes                       funny_hugle
3b9c01839579   hello-world     "/hello"      3 hours ago   Exited (0) 3 hours ago             jovial_brown
jetson@ubuntu:~$ docker inspect c54bf9efae47
[
    {
        # The complete id, the container ID above here, is the first few digits of this ID that were intercepted
        "Id": "c54bf9efae471071391202a8718b346d9af76cb1ff17741e206280603d6f0056",
        "Created": "2023-04-24T04:19:46.232822024Z",
        "Path": "/bin/bash",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 9667,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2023-04-24T06:20:58.508213216Z",
            "FinishedAt": "2023-04-24T06:19:45.096483592Z"
        },
    。。。。


# Test viewing image metadata
jetson@ubuntu:~$ docker images
REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
ubuntu                       latest    bab8ce5c00ca   6 weeks ago     69.2MB
hello-world                  latest    46331d942d63   13 months ago   9.14kB
jetson@ubuntu:~$ docker inspect bab8ce5c00ca
[
    {
        "Id": "sha256:bab8ce5c00ca3ef91e0d3eb4c6e6d6ec7cffa9574c447fd8d54a8d96e7c1c80e",
        "RepoTags": [
            "ubuntu:latest"
        ],
        "RepoDigests": [
            "ubuntu@sha256:67211c14fa74f070d27cc59d69a7fa9aeff8e28ea118ef3babc295a0428a6d21"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2023-03-08T04:32:41.063980445Z",
        "Container": "094fd0c521be8c84d81524e4a5e814e88a2839899c56f654484d32d171c7195b",
        "ContainerConfig": {
            "Hostname": "094fd0c521be",
            .............
            "Labels": {
                "org.opencontainers.image.ref.name": "ubuntu",
                "org.opencontainers.image.version": "22.04"
            }
        },
        "DockerVersion": "20.10.12",
        "Author": "",
        "Config": {
            "Hostname": "",
            .........
            "Labels": {
                "org.opencontainers.image.ref.name": "ubuntu",
                "org.opencontainers.image.version": "22.04"
            }
        },
        "Architecture": "arm64",
        "Variant": "v8",
        "Os": "linux",
        "Size": 69212233,
        "VirtualSize": 69212233,
        "GraphDriver": {
            "Data": {
                "MergedDir": "/var/lib/docker/overlay2/8418b919a02d38a64ab86060969b37b435977e9bbdeb6b0840d4eb698280e796/merged",
                "UpperDir": "/var/lib/docker/overlay2/8418b919a02d38a64ab86060969b37b435977e9bbdeb6b0840d4eb698280e796/diff",
                "WorkDir": "/var/lib/docker/overlay2/8418b919a02d38a64ab86060969b37b435977e9bbdeb6b0840d4eb698280e796/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:874b048c963ab55b06939c39d59303fb975d323822a4ea48a02ac8dc635ea371"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

 

2.6、Command Summary

image-20230424144541215

Overview and installation
Understand and publish images

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/中文