docker干净编译环境搭建

docker干净编译环境搭建

  • 一、docker安装
    • 1、环境
    • 2、安装
  • 二、编译环境
  • 三、Dockerfile环境
    • 1、安装基本环境版本:
    • 2、在有镜像zyhdell/ubuntu:v1下的创建:
  • 四、创建work容器:

一、docker安装

1、环境

  • 操作系统版本:ubuntu 22.04.3 destop

  • 开发环境套件:sudo apt install build-essential

2、安装

  • 1、删除旧的docker版本:sudo apt-get remove docker docker-engine docker.io containerd runc

  • 2、安装依赖工具:sudo apt-get install ca-certificates curl gnupg lsb-release

  • 3、下载docker源:curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

  • 4、安装docker源:sudo add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”

  • 5、安装docker:apt-get install docker-ce docker-ce-cli containerd.io

  • 6、配置用户组(执行docker命令时不用sudo,可选):sudo usermod -aG docker $USER

  • 7、安装工具:apt-get -y install apt-transport-https ca-certificates curl software-properties-common

  • 8、重启docker:service docker restart

  • 9、验证是否成功:sudo docker run hello-world

二、编译环境

  • 1、拉下干净最小的ubuntu:sudo docker pull ubuntu

  • 2、打成公司的标签:sudo docker tag ubuntu zyhdell/ubuntu:v0

  • 3、创建容器:sudo docker run -it --name v1 zyhdell/ubuntu:v0

  • 4、在容器内更新安装源:export DEBIAN_FRONTEND=noninteractive; apt update; apt upgrade

  • 5、在容器内安装:apt install vim ssh make cmake lib32z1-dev

  • 6、退出容器

  • 7、提交成新的镜像:sudo docker commit -m “baseos vim ssh make cmake lib32z1-dev” v1 zyhdell/ubuntu:v1

  • 8、创建测试环境容器:sudo docker run -it --rm -v /opt:/opt --name tt zyhdell/ubuntu:v1

  • 9、在容器内测试:在/opt下测试编译

  • 10、保存镜像成文件:sudo docker save -o zyhdell_ubuntu_v1.tar zyhdell/ubuntu:v1

  • 11、在目标机里载入镜像:sudo docker load < zyhdell_ubuntu_v1.tar

三、Dockerfile环境

1、安装基本环境版本:

mkdir df_test
cd df_test
vi Dockerfile#Dockerfile
-----------------------------------------------------------------
FROM ubuntu
MAINTAINER Docker zyhdell <zyhdell@zyhdell.com>
RUN apt-get -qq update
RUN apt-get -qqy upgrade
RUN apt-get -qqy install vim ssh make cmake lib32z1-dev
RUN /bin/echo 'Asia/Shanghai' >/etc/timezone
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
ENV DEBIAN_FRONTEND noninteractive
---------------------------------------------------------------sudo docker build -t zyhdell/ubuntu:v1 .

2、在有镜像zyhdell/ubuntu:v1下的创建:

mkdir df_test1
cd df_test1
vi Dockerfile#Dockerfile
-----------------------------------------------------------------------------
FROM zyhdell/ubuntu:v1
MAINTAINER Docker zyhdell <zyhdell@zyhdell.com>
ENV PATH=/opt/public/gcc/hisi-linux/x86-arm/aarch64-himix200-linux/bin:$PATH
--------------------------------------------------------------------------------sudo docker build -t my/ubuntu:v1 .

四、创建work容器:

  • 1、创建容器work:sudo docker run -it -d -v /opt:/opt --name work my/ubuntu:v1
    -v 把宿主机上的目录共享给容器work使用

  • 2、停止与重启容器:sudo docker [stop start restart] work

  • 3、删除容器:sudo docker rm work

  • 4、进入容器:sudo docker attach work

  • 5、退出容器:退出Ctrl+P+Q,退出并停止exit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

libp2p 快速开始

文章目录 第一部分&#xff1a;libp2p 快速入门一、什么是libp2plibp2p 发展历程libp2p的特性p2p 网络和我们熟悉的 client/server 网络的区别&#xff1a; 二、Libp2p的实现目标三、Libp2p的用途四、运行 Libp2p 协议流程libp2p 分为三层libp2p 还有一个局域网节点发现协议 mD…

原生JS实现组件切换(不刷新页面)

这是通过原生Es6实现的组件切换&#xff0c;代码很简单&#xff0c;原理和各种框架原理大致相同。 创建文件 ├── component&#xff1a;存放组件 │ ├── home1.js&#xff1a;组件1 │ ├── home2.js&#xff1a;组件2 ├── index.html ├── index.js初始化ht…

LLaMA系列模型

1.LLama 1.1 简介 Open and Efficient Foundation Language Models (Open但没完全Open的LLaMA) 2023年2月&#xff0c;Meta&#xff08;原Facebook&#xff09;推出了LLaMA大模型&#xff0c;使用了1.4T token进行训练&#xff0c;虽然最大模型只有65B&#xff0c;但在相关评…

[23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians

[paper | proj] 给定FLAME&#xff0c;基于每个三角面片中心初始化一个3D Gaussian&#xff08;3DGS&#xff09;&#xff1b;当FLAME mesh被驱动时&#xff0c;3DGS根据它的父亲三角面片&#xff0c;做平移、旋转和缩放变化&#xff1b;3DGS可以视作mesh上的辐射场&#xff1…

「Vue3面试系列」Vue3.0的设计目标是什么?做了哪些优化?

文章目录 一、设计目标1.1 更小1.2 更快1.3更友好 二、优化方案2.1 源码2.11源码管理2.22 TypeScript 2.2 性能2.3 语法 API2.31逻辑组织2.32 逻辑复用 参考文献 一、设计目标 不以解决实际业务痛点的更新都是耍流氓&#xff0c;下面我们来列举一下Vue3之前我们或许会面临的问…

校园转转二手市场源码+Java二手交易市场整站源码

源码介绍 校园转转二手市场源码分享&#xff0c;Java写的应用&#xff0c;mybatis-plus 和 Hibernate随心用 后台地址&#xff1a;/home/index/index 账号密码&#xff1a;admin/123456 前台地址&#xff1a;/system/login

Java小技巧:创建带缓存的过程

在平常开发中&#xff0c;我们经常遇到这样一类过程&#xff1a;有一定计算量&#xff0c;被频繁调用&#xff0c;但对于任意一个参数&#xff0c;结果是恒定的&#xff08;换句话说&#xff0c;就是纯函数&#xff09;&#xff0c;为了减少频繁调用的性能开销&#xff0c;我们…

计算机网络2

OSI参考模型七层&#xff1a; 1.应用层 2.表示层 3.会话层 4.传输层 5.网络层 6.数据链路层 7.物理层 TCP/IP模型 5层参考模型

Apipost检测接口工具的基本使用方法

&#x1f440; 今天言简意赅的介绍一款和postman一样好用的后端接口测试工具Apipost 专门用于测试后端接口的工具&#xff0c;可以生成接口使用文档官方下载网站&#xff1a;http://www.apipost.cn 傻瓜式安装—>register->项目->创建项目->APIs->新建目录&…

Flink 数据类型 TypeInformation信息

Flink流应用程序处理的是以数据对象表示的事件流。所以在Flink内部&#xff0c;我么需要能够处理这些对象。它们需要被序列化和反序列化&#xff0c;以便通过网络传送它们&#xff1b;或者从状态后端、检查点和保存点读取它们。为了有效地做到这一点&#xff0c;Flink需要明确知…

【大麦小米学量化】使用xtquant调用迅投MiniQMT客户端定时操作逆回购,再也不担心忘了赚零花钱了(含完整源代码)

文章目录 前言一、逆回购是什么&#xff1f;1. 什么是逆回购&#xff1f;2. 最低参与金额是多少&#xff1f;3. 逆回购交易是否安全&#xff1f;4. 逆回购交易适合什么类型的客户&#xff1f; 二、讯投XtQuant是什么&#xff1f;1. XtQuant运行依赖环境2. XtQuant运行逻辑 三、…

Linux Docker本地部署WBO在线协作白板结合内网穿透远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板&#xff0c;允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

LeetCode刷题--- 全排列 II

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 http://t.csdnimg.cn/6AbpV 数据结构与算法 http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述递归递归、搜…

搭建git服务器(本地局域网)

搭建git服务器&#xff08;本地局域网&#xff09; 创建仓库 (假定在/home/git目录下创建仓库) git init --bare sample.git克隆远程仓库到本地 git clone git192.168.0.100:/home/git/sample.git已有项目&#xff0c;绑定远程仓库 # 查看远程仓库绑定 git remote -v# 解除…

拼多多ID取商品详情API:电商行业的核心价值与实时数据获取策略

一、引言 在当今的电商行业中&#xff0c;数据是驱动业务决策和优化用户体验的关键因素。拼多多作为中国电商市场的主要参与者&#xff0c;其根据ID取商品详情原数据的API在电商行业中具有显著的重要性。本文将深入探讨这个话题&#xff0c;并介绍如何实现实时数据获取。 二、…

UE学习记录09----C++实现Actor 单击/双击事件

思路&#xff1a;重载Actor的单击事件&#xff0c;通过计时器判断时间段内鼠标惦记的次数 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "GameFramework/Actor.h" #in…

回归预测 | MATLAB实现GA-LSSVM基于遗传算法优化最小二乘向量机的多输入单输出数据回归预测模型 (多指标,多图)

回归预测 | MATLAB实现GA-LSSVM基于遗传算法优化最小二乘向量机的多输入单输出数据回归预测模型 &#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现GA-LSSVM基于遗传算法优化最小二乘向量机的多输入单输出数据回归预测模型 &#xff08;多指标&#…

doNet Core中解压zip

doNet Core4.0解压zip文件 1、ZipInputStream.cs public class ZipHelper { /// /// 解压缩一个 zip 文件。 /// /// The ziped file. /// The STR directory. /// 是否覆盖已存在的文件。 public static void UnZip(string zipedFile, string strDirectory, bool overWrit…

ISCTF(b)

test_nc nc_shell ls cat flag 这两道题比较像 你说爱我&#xff1f;尊嘟假嘟 打开后重复出现 “ 你说爱我 ” “ 尊嘟 ” “ 假嘟 ” 。判断为 Ook 加密 , 将 “ 你说爱我 ” 替换为 “Ook.” &#xff1b; “ 尊嘟 ” 替换为&#xff1a; “Ook!” &#xff1b; “ 假嘟…

mysql函数(二)之常见字符串函数

MySQL中常见的字符串函数有以下几种&#xff1a; CONCAT()&#xff1a;将两个或多个字符串连接在一起。 用法&#xff1a;CONCAT(string1, string2, ...) 效果图&#xff1a; LENGTH()&#xff1a;返回字符串的长度。 用法&#xff1a;LENGTH(string) 效果图&#xff1a; U…