从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镜像中,下载自己需要的安装包三、安装需要的系统软件四、打包现有镜像为一个新的镜像五、推送打包的镜像到私有docker服务器1.编辑docker文件,使其允许http传输和对…...
1Panel自建RustDesk服务器方案实现Windows远程macOS
文章目录 缘起RustDesk 基本信息实现原理中继服务器的配置建议 中继服务器自建指南准备服务器安装1Panel安装和配置 RustDesk 中继服务防火墙配置和安全组配置查看key下载&安装&配置客户端设置永久密码测试连接 macOS安装客户端提示finder写入失败hbbs和hbbr说明**hbbs…...
STM32完全学习——使用定时器1精确延时
一、定时器的相关配置 首先一定要是递减定时器,递增的不太行,控制的不够准确,其次在大于10微秒的延时是非常准确的,小于的话,就没有那没准,但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟…...
深度学习——损失函数汇总
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、硬件 时钟总线如下: PB端口挂载在AHB1总线上,因此要对该位进行使能。 引脚 LED0和LED1挂载在PB0和PB1上:推挽输出、100M、 上拉默认高电平,低电平点亮。 2、软件 位带操作 #ifndef _IO_BIT_H_ #define _IO_BIT_H_#define …...
记忆旅游系统|Java|SSM|VUE| 前后端分离
【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...
CentOS7下的 OpenSSH 服务器和客户端
目录 1. 在 IP 地址为 192.168.98.11 的 Linux 主机上安装 OpenSSH 服务器; 2. 激活 OpenSSH 服务,并设置开机启动; 3. 在 IP 地址为 192.168.98.22 的 Linux 主机上安装 OpenSSH 客户端,使用客户端命令(ssh、 scp、…...
RabbitMQ基础篇之Java客户端 Topic交换机
文章目录 Topic 交换机概述 Routing Key 与 Binding Key优缺点及场景优点缺点应用场景 案例演示创建队列和交换机:消费者代码:消息发送代码:测试: 总结 Topic 交换机概述 路由机制: Topic交换机与Direct交换机类似&am…...
微服务-Sentinel新手入门指南
微服务为什么要使用流控降级组件 为了提高系统运行期间的稳定性和可用性 在微服务环境下,服务之间存在复杂的调用关系,单个服务的故障或过载可能会迅速影响到整个系统,导致服务雪崩效应。流控组件可以限制进入系统的流量,防止系…...
传统听写与大模型听写比对
在快节奏的现代生活中,听写技能仍然是学习语言和提升认知能力的重要环节。然而,传统的听写练习往往枯燥乏味,且效率不高。现在,随着人工智能技术的发展,大模型听写工具的问世,为传统听写带来了革命性的变革…...
http性能测试命令ab
华子目录 使用方法常用选项示例输出解读注意事项 在 Linux系统中, ab( ApacheBench)是一个用于 测试HTTP服务器性能的 工具。它是 Apache HTTP服务器项目的 一部分,专门设计用来模拟 多个用户对 服务器发起 并发请求&am…...
前端:轮播图常见的几种实现方式
目录 前言 一、轮播图是什么? 二、实现方法 1.使用纯 HTML、CSS、JavaScript 实现 2.使用组件来快速实现 总结 前言 在学习前端的过程中,总是有要实现轮播图效果的时候,本文就介绍了轮播图常见的几种实现方式。 一、轮播图是什么?…...
Pytest基础01: 入门demo脚本
目录 1 Pytest接口测试 1.1 最简单版hello world 1.2 pytest.ini 2 pytest兼容unittest 3 封装pytest执行入口 1 Pytest接口测试 Pyest是一个可以用于接口测试的强大框架,开源社区也有非常多的pytest插件。 按江湖传统,学习一个新语言或者新框架&…...
ruoyi 多租户 开启后针对某一条sql不适用多租户; 若依多租户sql规则修改
文章参考:多租户功能 | Ruoyi-TDesign 忽略租户 1.如果需要指定单独 SQL 不开启过滤,可在对应的 Mapper 接口添加如下忽略注解: InterceptorIgnore(tenantLine "true", dataPermission "false") 此处注意事项 使…...
driftingblues6靶机
打开靶场 查看页面源代码,最下面有一个注释,提供了一个网址 vmlist.github.io,我们去访问一下 这里是一个github页面,提供攻防虚拟机的下载,对我们解题并没有什么有用的信息,我们再去扫描端口 发现只有80端…...
Neo4j GDS 2.0 安装与配置
Neo4j GDS 2.0 安装与配置 GDS插件安装:Neo4j官方文档 1. GDS简介 Neo4j Graph Data Science (GDS) 库作为 Neo4j Graph Database 的插件提供。该插件需要安装到数据库中并在 Neo4j 配置中列入白名单。有两种主要方法可以实现这一点,我们将在本章中详…...
A*算法与人工势场法结合的路径规划(附MATLAB源码)
A*算法与人工势场法(APF)结合实现路径规划 路径规划是机器人、无人机及自动驾驶等领域中的一个重要问题。本文结合了经典的 A* 算法与 人工势场法(Artificial Potential Field, APF),实现了一种改进的路径规划方法。下…...
BootstrapTable处理表格
需求背景 历史项目使用 BootstrapTable 作为前端组件 应客户需要调整: 冻结前四列对于大文本文字显示部分内容,鼠标悬浮显示完整内容 冻结列 1、引入相关CSS,JS CSS <link rel"stylesheet" href"/css/bootstrap.min.css"> …...
UniApp 打开文件工具,获取文件类型,判断文件类型
注意:以下代码使用 typeScript 开发,如果想在 js 中使用,可参考 npm 已经发布的包:https://www.npmjs.com/package/uni-easy-file NPM 使用 如果想直接在 npm 项目中使用可以直接执行以下命令 npm i uni-easy-file然后直接使用 …...
docker-开源nocodb,使用已有数据库
使用已有数据库 创建本地数据库 数据库:nocodb 用户:nocodb 密码:xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1(适用于 bridge 网络模式)version: "2.1" services:nocodb:environment:…...
解锁游戏时间魔法:OpenSpeedy如何重塑你的单机游戏体验
解锁游戏时间魔法:OpenSpeedy如何重塑你的单机游戏体验 【免费下载链接】OpenSpeedy 🎮 An open-source game speed modifier. 项目地址: https://gitcode.com/gh_mirrors/op/OpenSpeedy 你是否曾在游戏中经历过这样的时刻:冗长的剧情…...
瑞萨RA2L2 MCU深度解析:USB-C Rev 2.4与超低功耗设计实战
1. 项目概述:瑞萨RA2L2 MCU的定位与核心价值作为一名在嵌入式领域摸爬滚打了十多年的老工程师,每当看到像瑞萨RA2L2这样的新品发布,我的第一反应不是看那些华丽的参数,而是会立刻思考:这玩意儿到底能解决我手头项目里的…...
Windows与Office激活神器:KMS_VL_ALL_AIO使用全攻略
Windows与Office激活神器:KMS_VL_ALL_AIO使用全攻略 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows和Office的激活问题头疼吗?每次看到那个烦人的"激…...
从TSMC 256bit eFuse宏单元入手,搞懂芯片冗余修复(Repair)的底层逻辑
从TSMC 256bit eFuse宏单元入手,搞懂芯片冗余修复(Repair)的底层逻辑 在半导体制造领域,芯片良率始终是决定生产成本和市场竞争力的关键因素。随着工艺节点不断微缩,单个晶圆上集成的晶体管数量呈指数级增长࿰…...
基于Circuit Playground Express与NeoPixel的智能光控花环制作全攻略
1. 项目概述:打造一个会“呼吸”的智能光之花环你是否想过,让一串普通的装饰灯带拥有感知环境、自动调节的“生命”?这听起来像是科幻电影里的场景,但实际上,利用今天唾手可得的开源硬件和图形化编程工具,任…...
Bubble Navigation实战:构建现代化电商App导航系统的终极指南
Bubble Navigation实战:构建现代化电商App导航系统的终极指南 【免费下载链接】bubble-navigation 🎉 [Android Library] A light-weight library to easily make beautiful Navigation Bar with ton of 🎨 customization option. 项目地址…...
别再死磕官网了!用Docker Compose 5分钟搞定Weaviate向量数据库本地部署
5分钟极速部署Weaviate:Docker Compose避坑指南 当开发者第一次接触Weaviate时,往往会被官网复杂的配置选项和冗长的文档吓退。作为一款开源的向量数据库,Weaviate确实提供了强大的语义搜索和AI原生功能,但官方安装流程却像迷宫一…...
终极罗技鼠标宏指南:3步实现PUBG完美压枪
终极罗技鼠标宏指南:3步实现PUBG完美压枪 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生》中难以控制的武器后坐力…...
Kilocode框架:轻量级代码组织与复用架构实践
1. 项目概述:一个面向开发者的轻量级代码组织与复用框架最近在和一些团队交流时,发现一个挺普遍的现象:随着项目迭代,代码库越来越臃肿,不同模块间的依赖关系变得混乱,想复用一段业务逻辑或者工具函数&…...
知识图谱冷启动失败率高达68%?NotebookLM构建中的3类隐性数据断层及实时修复方案
更多请点击: https://intelliparadigm.com 第一章:NotebookLM知识图谱构建的冷启动困境本质 NotebookLM 作为 Google 推出的基于文档理解的 AI 助手,其核心能力依赖于对用户上传文档构建结构化知识图谱。然而在初始阶段,系统面临…...
