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

从0开始的docker镜像制作-ubuntu22.04

从0开始的docker镜像制作-ubuntu22.04

  • 一、拉取基础ubuntu22.04镜像
  • 二、进入拉取的docker镜像中,下载自己需要的安装包
  • 三、安装需要的系统软件
  • 四、打包现有镜像为一个新的镜像
  • 五、推送打包的镜像到私有docker服务器
      • 1.编辑docker文件,使其允许http传输和对应的内网IP
      • 2.重新加载docker和重启docker
      • 3.登录私有服务器
      • 4.给要推送的docker镜像打个tag
      • 5.开始推送

一、拉取基础ubuntu22.04镜像

docker pull ubuntu:22.04

在这里插入图片描述
需要使用英伟达显卡驱动的,可以拉取对应的cuda版本
官方镜像链接
11.8的cuda

docker pull nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04

在这里插入图片描述

12.4的cuda

docker pull nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04

在这里插入图片描述

二、进入拉取的docker镜像中,下载自己需要的安装包

这里以cuda12.4演示

运行一个基于 nvidia/cuda 的 Docker 容器,并且使用 GPU,使用 nvidia/cuda 镜像:

docker run -it --gpus all --name my-ubuntu22.04 nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04 /bin/bash
  • docker run:创建一个新的容器。
  • -it:分配一个伪终端并保持标准输入开放,这样你就可以与容器进行交互。
  • --gpus all:允许容器访问所有可用的 GPU 设备。
  • --name my-ubuntu22.04:为新容器指定一个名称,这里是 my-ubuntu22.04
  • nvidia/cuda:12.4.1-cudnn-runtime-ubuntu22.04:指定基础镜像,带有 CUDA 和 cuDNN 的 NVIDIA 官方镜像。
  • /bin/bash:容器启动后默认执行的命令,这里是启动一个 Bash 会话。

请注意,你的系统需要正确安装和配置 NVIDIA Docker 支持,以便 Docker 容器可以访问宿主机的 GPU。如果你还没有设置 NVIDIA Docker 支持,请参考之前的文章:ollama等的安装。

在这里插入图片描述

三、安装需要的系统软件

这里给出部分的软件包,可以按需下载

apt update  #老规矩先更新
apt-get install -y sudo #安装sudo
sudo apt install iputils-ping   # ping工具
sudo apt install net-tools   # 软件包 其中包括ifconfig
sudo apt install vim  # vim编辑器
sudo apt install openssh-client  # ssh  连接其他服务器ssh
sudo apt install openssh-server  # 其他服务器连接本机ssh
sudo apt install vsftpd  # ftp
apt-get install -y git #git
sudo apt-get install git-lfs #git-lfs

安装完成后,输入:

exit

退出容器

四、打包现有镜像为一个新的镜像

在这里插入图片描述

docker commit -a "ddcloud <ddcloud@example.com>" -m "Added necessary packages and configurations" -p e8d89bc81ea7 ubuntu-cuda12.4:v1.0

-a, --author=“”: 作者信息,例如 “Your Name your.email@example.com”
-m, --message=“”: 提交信息,类似于 Git 的 commit message,用来描述你所做的更改。
-p, --pause=true: 提交时暂停容器。建议使用,以确保文件系统的一致性。
在这里插入图片描述
查看打包的镜像:

docker images

在这里插入图片描述

五、推送打包的镜像到私有docker服务器

1.编辑docker文件,使其允许http传输和对应的内网IP

vi /etc/docker/daemon.json

在这里插入图片描述

2.重新加载docker和重启docker

systemctl daemon-reload
systemctl restart docker

3.登录私有服务器

docker login 10.108.117.59:996

在这里插入图片描述

4.给要推送的docker镜像打个tag

docker tag ubuntu-cuda12.4:v1.0 10.108.117.59:996/ddcloud/ubuntu-cuda12.4:v1.0

5.开始推送

docker push 10.108.117.59:996/ddcloud/ubuntu-cuda12.4:v1.0

在这里插入图片描述
推送完成:
在这里插入图片描述

私有仓库显示如下:
在这里插入图片描述

相关文章:

从0开始的docker镜像制作-ubuntu22.04

从0开始的docker镜像制作-ubuntu22.04 一、拉取基础ubuntu22.04镜像二、进入拉取的docker镜像中&#xff0c;下载自己需要的安装包三、安装需要的系统软件四、打包现有镜像为一个新的镜像五、推送打包的镜像到私有docker服务器1.编辑docker文件&#xff0c;使其允许http传输和对…...

1Panel自建RustDesk服务器方案实现Windows远程macOS

文章目录 缘起RustDesk 基本信息实现原理中继服务器的配置建议 中继服务器自建指南准备服务器安装1Panel安装和配置 RustDesk 中继服务防火墙配置和安全组配置查看key下载&安装&配置客户端设置永久密码测试连接 macOS安装客户端提示finder写入失败hbbs和hbbr说明**hbbs…...

STM32完全学习——使用定时器1精确延时

一、定时器的相关配置 首先一定要是递减定时器&#xff0c;递增的不太行&#xff0c;控制的不够准确&#xff0c;其次在大于10微秒的延时是非常准确的&#xff0c;小于的话&#xff0c;就没有那没准&#xff0c;但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟…...

深度学习——损失函数汇总

1. 连续值损失函数 总结:主要使用胡贝儿损失函数,应用于连续数值的预测之间的误差损失,参考地址 import torch import torch.nn as nna = torch.tensor([[1, 2], [3, 4]], dtype=torch.float) b = torch.tensor([[3, 5], [8, 6]], dtype=torch.float)loss_fn1 = torch.nn.M…...

1、单片机寄存器-io输入实验笔记

1、硬件 时钟总线如下&#xff1a; PB端口挂载在AHB1总线上&#xff0c;因此要对该位进行使能。 引脚 LED0和LED1挂载在PB0和PB1上&#xff1a;推挽输出、100M、 上拉默认高电平&#xff0c;低电平点亮。 2、软件 位带操作 #ifndef _IO_BIT_H_ #define _IO_BIT_H_#define …...

记忆旅游系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...

CentOS7下的 OpenSSH 服务器和客户端

目录 1. 在 IP 地址为 192.168.98.11 的 Linux 主机上安装 OpenSSH 服务器&#xff1b; 2. 激活 OpenSSH 服务&#xff0c;并设置开机启动&#xff1b; 3. 在 IP 地址为 192.168.98.22 的 Linux 主机上安装 OpenSSH 客户端&#xff0c;使用客户端命令&#xff08;ssh、 scp、…...

RabbitMQ基础篇之Java客户端 Topic交换机

文章目录 Topic 交换机概述 Routing Key 与 Binding Key优缺点及场景优点缺点应用场景 案例演示创建队列和交换机&#xff1a;消费者代码&#xff1a;消息发送代码&#xff1a;测试&#xff1a; 总结 Topic 交换机概述 路由机制&#xff1a; Topic交换机与Direct交换机类似&am…...

微服务-Sentinel新手入门指南

微服务为什么要使用流控降级组件 为了提高系统运行期间的稳定性和可用性 在微服务环境下&#xff0c;服务之间存在复杂的调用关系&#xff0c;单个服务的故障或过载可能会迅速影响到整个系统&#xff0c;导致服务雪崩效应。流控组件可以限制进入系统的流量&#xff0c;防止系…...

传统听写与大模型听写比对

在快节奏的现代生活中&#xff0c;听写技能仍然是学习语言和提升认知能力的重要环节。然而&#xff0c;传统的听写练习往往枯燥乏味&#xff0c;且效率不高。现在&#xff0c;随着人工智能技术的发展&#xff0c;大模型听写工具的问世&#xff0c;为传统听写带来了革命性的变革…...

http性能测试命令ab

华子目录 使用方法常用选项示例输出解读注意事项 在 Linux系统中&#xff0c; ab&#xff08; ApacheBench&#xff09;是一个用于 测试HTTP服务器性能的 工具。它是 Apache HTTP服务器项目的 一部分&#xff0c;专门设计用来模拟 多个用户对 服务器发起 并发请求&am…...

前端:轮播图常见的几种实现方式

目录 前言 一、轮播图是什么&#xff1f; 二、实现方法 1.使用纯 HTML、CSS、JavaScript 实现 2.使用组件来快速实现 总结 前言 在学习前端的过程中&#xff0c;总是有要实现轮播图效果的时候&#xff0c;本文就介绍了轮播图常见的几种实现方式。 一、轮播图是什么&#xff1f…...

Pytest基础01: 入门demo脚本

目录 1 Pytest接口测试 1.1 最简单版hello world 1.2 pytest.ini 2 pytest兼容unittest 3 封装pytest执行入口 1 Pytest接口测试 Pyest是一个可以用于接口测试的强大框架&#xff0c;开源社区也有非常多的pytest插件。 按江湖传统&#xff0c;学习一个新语言或者新框架&…...

ruoyi 多租户 开启后针对某一条sql不适用多租户; 若依多租户sql规则修改

文章参考&#xff1a;多租户功能 | Ruoyi-TDesign 忽略租户​ 1.如果需要指定单独 SQL 不开启过滤&#xff0c;可在对应的 Mapper 接口添加如下忽略注解&#xff1a; InterceptorIgnore(tenantLine "true", dataPermission "false") 此处注意事项 使…...

driftingblues6靶机

打开靶场 查看页面源代码&#xff0c;最下面有一个注释&#xff0c;提供了一个网址 vmlist.github.io&#xff0c;我们去访问一下 这里是一个github页面&#xff0c;提供攻防虚拟机的下载&#xff0c;对我们解题并没有什么有用的信息&#xff0c;我们再去扫描端口 发现只有80端…...

Neo4j GDS 2.0 安装与配置

Neo4j GDS 2.0 安装与配置 GDS插件安装&#xff1a;Neo4j官方文档 1. GDS简介 Neo4j Graph Data Science (GDS) 库作为 Neo4j Graph Database 的插件提供。该插件需要安装到数据库中并在 Neo4j 配置中列入白名单。有两种主要方法可以实现这一点&#xff0c;我们将在本章中详…...

A*算法与人工势场法结合的路径规划(附MATLAB源码)

A*算法与人工势场法&#xff08;APF&#xff09;结合实现路径规划 路径规划是机器人、无人机及自动驾驶等领域中的一个重要问题。本文结合了经典的 A* 算法与 人工势场法&#xff08;Artificial Potential Field, APF&#xff09;&#xff0c;实现了一种改进的路径规划方法。下…...

BootstrapTable处理表格

需求背景 历史项目使用 BootstrapTable 作为前端组件 应客户需要调整&#xff1a; 冻结前四列对于大文本文字显示部分内容&#xff0c;鼠标悬浮显示完整内容 冻结列 1、引入相关CSS,JS CSS <link rel"stylesheet" href"/css/bootstrap.min.css"> …...

UniApp 打开文件工具,获取文件类型,判断文件类型

注意&#xff1a;以下代码使用 typeScript 开发&#xff0c;如果想在 js 中使用&#xff0c;可参考 npm 已经发布的包&#xff1a;https://www.npmjs.com/package/uni-easy-file NPM 使用 如果想直接在 npm 项目中使用可以直接执行以下命令 npm i uni-easy-file然后直接使用 …...

docker-开源nocodb,使用已有数据库

使用已有数据库 创建本地数据库 数据库&#xff1a;nocodb 用户&#xff1a;nocodb 密码&#xff1a;xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1&#xff08;适用于 bridge 网络模式&#xff09;version: "2.1" services:nocodb:environment:…...

Mysql COUNT() 函数详解

简介 COUNT()函数定义 COUNT()函数是SQL中常用的 聚合函数 &#xff0c;用于统计满足特定条件的记录数。它可以灵活地应用于各种查询场景&#xff0c;帮助用户快速获取所需的数据统计信息。该函数不仅能够计算所有行的数量&#xff0c;还能针对特定列进行计数&#xff0c;并支…...

单周期CPU电路设计

1.实验目的 本实验旨在让学生通过设计一个简单的单周期 CPU 电路&#xff0c;深入理解 RISC-V 指令集的子集功能实现&#xff0c;掌握数字电路设计与实现的基本流程&#xff0c;包括指令解析、部件组合、电路设计以及功能仿真等环节&#xff0c;同时培养verilog HDL编程能力和…...

从零开始采用命令行创建uniapp vue3 ts springboot项目

文章目录 1&#xff0c;通过命令行创建uniapp vue3 ts项目2, 创建springboot后台项目3&#xff0c; 联调测试 1&#xff0c;通过命令行创建uniapp vue3 ts项目 ​ 官方通过命令行创建项目的地址&#xff1a;https://zh.uniapp.dcloud.io/quickstart-cli.html ​ 在执行下面操…...

跟着逻辑先生学习FPGA-实战篇第一课 6-1 LED灯闪烁实验

硬件平台&#xff1a;征战Pro开发板 软件平台&#xff1a;Vivado2018.3 仿真软件&#xff1a;Modelsim10.6d 文本编译器&#xff1a;Notepad 征战Pro开发板资料 链接:https://pan.baidu.com/s/1AIcnaGBpNLgFT8GG1yC-cA?pwdx3u8 提取码:x3u8 1 知识背景 LED&#xff0c;又名…...

springboot 跨域配置

方案一 Configuration public class GlobalCorsConfig {Beanpublic CorsFilter corsFilter() {//1. 添加 CORS配置信息CorsConfiguration config new CorsConfiguration();//放行哪些原始域config.addAllowedOrigin("*");//是否发送 Cookieconfig.setAllowCredenti…...

C语言宏和结构体的使用代码

先看代码: #include <stdio.h> #include <string.h>// 定义一个宏&#xff0c;用于定义结构体 #define DEFINE_STRUCT(name, type1, name1, type2, name2, size, cf) \typedef struct { \type1 name1; …...

微信小程序 覆盖组件cover-view

wxml 覆盖组件 <video src"../image/1.mp4" controls"{{false}}" event-model"bubble"> <cover-view class"controls"> <cover-view class"play" bind:tap"play"> <cover-image class"…...

【Redis知识】Redis进阶-redis还有哪些高级特性?

文章目录 概览1. 持久化2. 复制与高可用3. 事务和脚本4. 发布/订阅 Redis事务示例事务中的错误处理使用 WATCH 进行乐观锁总结 Redis管道一、管道的原理二、管道的特点三、管道的使用场景四、管道的实现示例五、管道的注意事项 发布订阅模式一、Redis发布订阅模式介绍二、Redis…...

【Pytorch实用教程】深入了解 torchvision.models.resnet18 新旧版本的区别

深入了解 torchvision.models.resnet18 新旧版本的区别 在深度学习模型开发中,PyTorch 和 torchvision 一直是我们不可或缺的工具。近期,torchvision 对其模型加载 API 进行了更新,将旧版的 pretrained 参数替换为新的 weights 参数。本文将介绍这一变化的背景、具体区别,…...

攻防世界 - Web - Level 3 | very_easy_sql

关注这个靶场的其它相关笔记&#xff1a;攻防世界&#xff08;XCTF&#xff09; —— 靶场笔记合集-CSDN博客 0x01&#xff1a;考点速览 本关考察的是 SSRF 漏洞&#xff0c;需要我们结合 Gopher 协议利用服务端进行越权 SQL 注入。考点不少&#xff0c;总结一下主要有以下几点…...