当前位置: 首页 > news >正文

ubuntu中使用docker

上一篇我已经下载了一个ubuntu:20.04的镜像;

1. 查看所有镜像

sudo docker images

2. 基于本地存在的ubuntu:20.04镜像创建一个容器,容器的名为cppubuntu-1。创建的时候就会启动容器。

sudo docker run -itd --name cppubuntu-1 ubuntu:20.04

结果出现长串的容器ID号,说明创建容器cppubuntu-1成功

3.  查看docker中有哪些容器

sudo docker ps -a

4. 停止运行容器。

sudo docker stop 2ffec3839753

5. 启动容器

sudo docker start 2ffec3839753

6. 通过容器ID号删除容器(注意只有停止运行的容器才能删除)

sudo docker rm 容器的ID号

7. 通过容器ID号进入容器内部

sudo docker exec -it 2ffec3839753 /bin/bash

8. 查看容器当前大小

sudo docker ps -s

9. 将宿主机上的文件拷贝到容器内部

sudo docker cp /home/lmz/workspace/opencv4_10_0_tools/opencv-4.10.0.zip 2ffec3839753:/home/lmz/tools
sudo docker cp ./cmake-3.31.6.tar.gz 2ffec3839753:/home/lmz/tools

----------------------------------------------------------------------------------------------------------------------

搭建c++开发环境

9. 安装gcc/g++

apt-get install build-essential

9.1 查看编译器版本

gcc --version
g++ --version
make --version

10 指定版本安装CMake

10.1 安装ssl库

sudo apt-get install libssl-dev

10.2 解压安装包

tar -zxvf cmake-3.31.6.tar.gz && cd cmake-3.31.6

10.3 查看配置文件

./bootstrap --help

10.4 配置(将cmake安装到指定的位置)

./bootstrap --prefix=/usr/local/cmake

10.5 编译cmake源文件(指定8个线程编译源文件)

make -j8

10.6 安装cmake

make install

10.7 将cmake的安装路径添加环境变量

打开 【vim /etc/profile】文件,在文件末尾输入一下内容:

# cmake env path 
export PATH=/usr/local/cmake/bin:$PATH

10.8 刷新环境变量

source /etc/profile

10.9 验证是否安装成功

切换到任意目录下执行如下命令,验证安装是否成功

cmake --version

安装成功的样子:

10.10 删除cmake的源码目录和源码压缩包(不影响已经安装好的cmake) ,免得占总docker容器空间。

rm -fr ./cmake-3.31.6
rm -rf ./cmake-3.31.6.tar.gz

 注意,如果你和我一样,虚拟机上的宿主机是ubuntu20.04。

在宿主机上安装docker。docker容器cppubuntu-1以ubuntu:20.04镜像文件创建的,并且在容器内部搭建开发环境,那么你关机虚拟机之后,容器会停止。cmake环境会找不到。
再次开机进入到容器后,需要重新刷新环境变量

source /etc/profile

可以不指定cmake的安装目录,会不需要这一步吧

**********************************************************************************************************

安装opencv--c++开发环境

http://www.lqws.cn/news/205201.html

相关文章:

  • 如何在Unity中实现点击一个按钮跳转到哔哩哔哩
  • Xela矩阵三轴触觉传感器的工作原理解析与应用场景
  • 深入解析HarmonyOS5 UIAbility组件:从核心架构到实战应用
  • 计算矩阵A和B的乘积
  • 15-Oracle 23ai Vector Search Similarity Search-向量相似性和混合搜索-实操
  • Mac软件卸载指南,简单易懂!
  • 不要调用 TOARRAY() 从 LARAVEL COLLECTION 中获取所有项目
  • 基于Flask框架的前后端分离项目开发流程是怎样的?
  • Android启动时长优化(kernel部分)
  • 数学:花括号在数学中的应用详解
  • SQL进阶之旅 Day 20:锁与并发控制技巧
  • 锁的艺术:深入浅出讲解乐观锁与悲观锁
  • OpenLayers:封装Tooltip
  • 数据导入技术(文档加载)
  • OpenLayers 从后端服务加载 GeoJSON 数据
  • leetcodeT3170
  • PHP文件包含漏洞详解:原理、利用与防御
  • 解决国产GD32下载的工程无法编译
  • 两种Https正向代理的实现原理
  • Python 字符串与列表核心操作全解:从独有功能到实战场景
  • Redis故障转移
  • 探索Python融合地学:斗之气七段(运算符)
  • 在命令行直接执行可以执行成功,加入crontab定时任务执行shell脚本不成功失败的问题解决方法
  • 晶圆Map图芯片拉选
  • MATLAB-电偶极子所产出的电磁场仿真
  • gRPC 的四种通信模式完整示例
  • RSA加密算法:非对称密码学的基石
  • 磁盘修复工具
  • Day47
  • Global Security Markets 第 10 章衍生品知识点总结​