ubuntu中使用docker

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

  1. 查看所有镜像
bash 复制代码
sudo docker images
  1. 基于本地存在的ubuntu:20.04镜像创建一个容器,容器的名为cppubuntu-1。创建的时候就会启动容器。
bash 复制代码
sudo docker run -itd --name cppubuntu-1 ubuntu:20.04

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

  1. 查看docker中有哪些容器
bash 复制代码
sudo docker ps -a
  1. 停止运行容器。
bash 复制代码
sudo docker stop 2ffec3839753
  1. 启动容器
bash 复制代码
sudo docker start 2ffec3839753
  1. 通过容器ID号删除容器(注意只有停止运行的容器才能删除)
bash 复制代码
sudo docker rm 容器的ID号
  1. 通过容器ID号进入容器内部
bash 复制代码
sudo docker exec -it 2ffec3839753 /bin/bash
  1. 查看容器当前大小
bash 复制代码
sudo docker ps -s
  1. 将宿主机上的文件拷贝到容器内部
bash 复制代码
sudo docker cp /home/lmz/workspace/opencv4_10_0_tools/opencv-4.10.0.zip 2ffec3839753:/home/lmz/tools
bash 复制代码
sudo docker cp ./cmake-3.31.6.tar.gz 2ffec3839753:/home/lmz/tools

搭建c++开发环境

  1. 安装gcc/g++
bash 复制代码
apt-get install build-essential

9.1 查看编译器版本

bash 复制代码
gcc --version
g++ --version
make --version

10 指定版本安装CMake

10.1 安装ssl库

bash 复制代码
sudo apt-get install libssl-dev

10.2 解压安装包

bash 复制代码
tar -zxvf cmake-3.31.6.tar.gz && cd cmake-3.31.6

10.3 查看配置文件

bash 复制代码
./bootstrap --help

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

bash 复制代码
./bootstrap --prefix=/usr/local/cmake

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

bash 复制代码
make -j8

10.6 安装cmake

bash 复制代码
make install

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

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

bash 复制代码
# cmake env path 
export PATH=/usr/local/cmake/bin:$PATH

10.8 刷新环境变量

bash 复制代码
source /etc/profile

10.9 验证是否安装成功

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

bash 复制代码
cmake --version

安装成功的样子:

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

bash 复制代码
rm -fr ./cmake-3.31.6
rm -rf ./cmake-3.31.6.tar.gz

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

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

bash 复制代码
source /etc/profile

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

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

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

相关推荐
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
盟接之桥6 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
金刚猿6 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
忆~遂愿6 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘6 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
JH_Kong6 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿7 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Fcy6487 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满7 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠7 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法