在docker上运行LCM

目录

1.加载镜像并进入容器

2.安装依赖

[3.在docker外部git-clone lcm](#3.在docker外部git-clone lcm)

4.将get-clone的lcm复制到容器中

5.编译库

6.将可执行文件复制到容器中

7.进入可执行文件

8.编译可执行文件

9.再开一个终端运行程序

10.将以上容器打成镜像并导出


1.加载镜像并进入容器

复制代码
sudo docker run -it ubuntu bash

mkdir app //建立app目录

2.安装依赖

复制代码
//换源
sed -i 's/http:\/\/archive.ubuntu.com\/ubuntu\//http:\/\/mirrors.aliyun.com\/ubuntu\//g' /etc/apt/sources.list

echo "nameserver 8.8.8.8" > /etc/resolv.conf

apt-get update \

    && apt-get install build-essential libglib2.0-dev cmake \

    && apt-get install default-jdk python-all-dev liblua5.1-dev golang doxygen

3.在docker外部git-clone lcm

复制代码
​
git clone https://github.com/lcm-proj/lcm.git

4.将get-clone的lcm复制到容器中

复制代码
docker cp /home/f**/lcm 87d:/app  //87d是创建容器生成的ID号

5.编译库

复制代码
cd lcm

vim /etc/profile

在最后一行添加

添加这个是因为jave解析有中文字符和无法识别的字符

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8

source /etc/profile

cmake ..

make

make install

以上步骤将环境都安装完成了

6.将可执行文件复制到容器中

这一步需要退出容器,exit退出容器,在ubuntu中执行一下命令。

docker cp /home/f*/LCM 87d:/app //87d是创建容器生成的ID号

LCM是可执行文件

7.进入可执行文件

复制代码
cd /app/LCM
lcm-gen -x example_t.lcm
g++ -o send_message send_message.cpp -llcm
g++ -o listener listener.cpp -llcm

8.编译可执行文件

复制代码
mkdir build
cd build
cmake ..
make

9.再开一个终端运行程序

复制代码
sudo docker exec -it 87d bash
cd /app/LCM/build
终端1 ./lister     终端2  ./send_message

10.将以上容器打成镜像并导出

退出镜像exit

提交容器

复制代码
docker commit 87df17537bc4 mylcm:v11

查看镜像

导出压缩包

复制代码
docker save -o lcm_images0108.tar mylcm:v11
相关推荐
是Dream呀2 小时前
自动化打造信息影响力:用 Web Unlocker 和 n8n 打造你的自动化资讯系统
运维·前端·爬虫·自动化
蜜汁小强2 小时前
为 Github 创建本地 .ssh 关联 (RSA 以支持老系统)
运维·ssh·github
中草药z2 小时前
【Linux】拆解 Linux 容器化核心:Namespace 隔离 + cgroups 资源控制,附 LXC 容器生命周期实战
运维·docker·容器·虚拟化·namespace·lxc·cgroups
草莓熊Lotso2 小时前
Linux 程序地址空间深度解析:虚拟地址背后的真相
java·linux·运维·服务器·开发语言·c++·人工智能
猫头虎2 小时前
【汉化中文版】OpenClaw(Clawdbot/Moltbot)第三方开源汉化中文发行版部署全指南:一键脚本/Docker/npm 三模式安装+Ubuntu 环境配置+中文汉化界面适配开源版
docker·npm·开源·aigc·ai编程·远程工作·openclaw
Jinkxs2 小时前
【Linux】零基础入门:一篇吃透操作系统核心概念
linux·运维·服务器·网络·操作系统
懒神降世2 小时前
基于iVentoy的PXE服务器的部署实战指南
运维·服务器·开发语言·云原生·vmware·openeuler·iventoy
feasibility.2 小时前
基于Qwen3-VL多模态嵌入/重排序模型+Dify(docker)工作流的电商图文检索系统
人工智能·docker·多模态·教育电商·dify·rag·智能体/工作流
No8g攻城狮3 小时前
【Nginx】Nginx实现动态路由映射
运维·nginx
江畔何人初3 小时前
LVM中物理卷、物理区块、卷组、逻辑卷的概念以及它们之间的关系
linux·运维·云原生·容器·kubernetes