本文以horizon_xj3_open_explorer_v1.8.5_20211224
开发包和docker_cpu_openexplorer_centos_7_v1.11.6.tar
镜像包为例。
1 需要的东西
- 带有ubuntu18.04的电脑(学名:开发机,虚拟机也行)
openexplorer
开发包(下图中第一个)docker
镜像包(下图中第二个)
开发包和镜像包可到地平线社区下载,下载完成后,放到开发机下图中的位置。
2 docker准备
如果你的电脑中以前没用过docker,需要先安装docker。
在开发机中打开一个Terminal,执行以下命令:
sudo apt install curl -y # 装包
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # 从阿里云下载docker
sudo docker image ls # 看看镜像列表,此时啥也没有
为了方便后期使用,免得总是需要输入sudo,运行下面四行命令:
sudo groupadd docker # 添加docker group
sudo gpasswd -a ${USER} docker # 将当前用户添加到docker组
sudo service docker restart # 重启docker
newgrp docker # 更新用户组
3 加载镜像
cd到上图中的Horizon文件夹下,加载docker镜像
sudo docker load -i docker_cpu_openexplorer_centos_7_v1.11.6.tar # 加载
sudo docker image ls # 查看镜像列表,注意:IMAGE ID,下面要用
说一段有点难懂的话:
容器基于镜像创建,容器中的进程依赖于镜像中的文件。一旦容器启动完成后,我们就可以登录到容器中安装自己需要的软件或者服务。
一个镜像可以有多个容器
翻译一下,下面我们还需要搞个容器。
4 操作容器
此时还没有容器,可运行下列命令查看一下容器列表:
docker container ls # 查看容器列表
运行下方命令,把开发机中路径为/home/wyx/Horizon/horizon_xj3_open_explorer_v1.8.5_20211224/ddk/samples
下的文件映射到镜像里,也就是映射到镜像的/data
文件夹下,还给容器起了个别名horizon
。
sudo docker run -it -d -v /home/wyx/Horizon/horizon_xj3_open_explorer_v1.8.5_20211224/ddk/samples:/data --name horizon dfafddaf059d
注意:
- 运行完上面的命令,就有容器container了,如下图
- 命令中具有映射关系的两个路径 之间用
英文冒号
--name horizon
表示容器别名(容器多的时候,易区分,后期可用别名来启动容器)- 最后的一串字符表示
Image ID
,上一节图中有展示。
如果你是第一次操作,此时,容器horizon已经启动(start
)了。启动还不行,得进入(attach
)容器才能进行下一步操作。
进入已经start启动的容器:docker attach [CONTAINER ID]/[NAMES]
,例如本文中使用如下命令:
docker attach horizon
5 启动+进入容器
关机重启后,需要启动容器,进入容器,可运行下面两行命令:
docker start horizon # 启动horizon容器
docker attach horizon # 进入horizon容器
此处附上如何进出容器:
6 验证容器中的内容
进入容器后,先看看容器中/data/
下有什么:
如下图,/data/文件夹
和在上文中介绍到的samples/文件夹
下的文件一样.
在开发机的samples文件夹
下修改什么,镜像里会跟着修改!
此时,容器里就是一个独立的系统了,比如运行python3