从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

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

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

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

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

相关文章

使用exe4j将jar转成exe、java打包exe

1、maven打包 需要配置以下插件&#xff0c;注意skip为false 插件配置中设置 <skip>true</skip> 时&#xff0c;实际上是告诉 Maven 在构建过程中跳过 spring-boot-maven-plugin 插件的执行。也就是说&#xff0c;Maven 在打包时不会将项目打包成可执行的 JAR 文…

微信小程序调用 WebAssembly 烹饪指南

我们都是在夜里崩溃过的俗人&#xff0c;所幸终会天亮。明天就是新的开始&#xff0c;我们会变得与昨天不同。 一、Rust 导出 wasm 参考 wasm-bindgen 官方指南 https://wasm.rust-lang.net.cn/wasm-bindgen/introduction.html wasm-bindgen&#xff0c;这是一个 Rust 库和 CLI…

Cherno C++学习笔记 P48 如何让vector运行的更快

这一篇文章当中我们会讲到有关于vector的使用优化问题&#xff0c;如何能够让vector运行得更快。C优化是一个非常非常复杂的问题&#xff0c;最重要的是要了解环境&#xff0c;要知道事情是如何发生的&#xff0c;以及我们应该怎么做。当然我们今天会做的事情其实只是触及表面。…

MyBatis执行一条sql语句的流程(源码解析)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 MyBatis执行一条sql语句的流程&#xff08;源码解析&#xff09; MyBatis执行sql语句的流程加载配置文件加载配置文件的流程 创建sqlsessionFactory对象解析Mapper创建sqlses…

淺談Cocos2djs逆向

前言 簡單聊一下cocos2djs手遊的逆向&#xff0c;有任何相關想法歡迎和我討論^^ 一些概念 列出一些個人認為比較有用的概念&#xff1a; Cocos遊戲的兩大開發工具分別是CocosCreator和CocosStudio&#xff0c;區別是前者是cocos2djs專用的開發工具&#xff0c;後者則是coco…

吊舱激光测距核心技术详解!

一、核心技术 吊舱激光测距的核心技术主要体现在激光发射与接收、信号处理与距离计算、以及数据校正与优化等方面。 激光发射与接收&#xff1a; 激光发射器&#xff1a;产生经过调制的激光束&#xff0c;该激光束具有特定的频率和波形。这些激光束被投射到目标物体上。 光…

SpringAI从入门到熟练

学习SpringAI的记录情况 文章目录 前言 因公司需要故而学习SpringAI文档&#xff0c;故将自己所见所想写成文章&#xff0c;供大佬们参考 主要是为什么这么写呢&#xff0c;为何不抽出来呢&#xff0c;还是希望可以用的时候更加方便一点&#xff0c;如果大家有需求可以自行去…

如何使用大语言模型进行事件抽取与关系抽取

诸神缄默不语-个人CSDN博文目录 文章目录 1. 什么是事件抽取与关系抽取&#xff1f;2. 示例&#xff1a;使用大语言模型进行事件抽取与关系抽取 1. 什么是事件抽取与关系抽取&#xff1f; 事件抽取是指从文本中识别出与某些“事件”相关的信息。这些事件通常包括动作、参与者、…

GoldenDB组件及对应的用户和进程

1. GoldenDB组件及对应的用户和进程 GoldenDB数据库由管理节点、全局事务节点GTM、计算节点CN、数据节点DN等组成。 1.1. 管理节点 管理节点分为集群管理、Insight运维管理平台&#xff08;InsightServer、RDB、ZK&#xff09;。 1.1.1. 集群管理 1. 集群管理包括Metadatas…

认识编程-从思维方面看编程

如果说艺术通过色彩、线条和旋律将人类内心深处的梦想具象化&#xff0c;使之成为可以感知的视觉或听觉作品&#xff0c;那么计算机程序则是在数字世界中以逻辑和算法为画笔&#xff0c;描绘着创作者的构思与愿望。 编程是实现这一过程的语言和工具&#xff0c;它让那些抽象的…

小程序分包优化实践:解决主包过大和vendor.js体积问题

随着 uniapp 开发的小程序功能越来越复杂&#xff0c;主包的大小也逐渐增长&#xff0c;导致上传代码时遇到了2MB的限制。同时&#xff0c;由于微信小程序tabbar页面必须放在主包中&#xff0c;这进一步增加了主包的负担。为了提高用户体验并遵守平台规则&#xff0c;我们有必要…

Java Day1回顾简介-----变量命名规则

Java 简介、开发环境配置 菜鸟教程 编译运行 javac HelloWorld.java java HelloWorld Hello World public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World");} }JAVA基础语法 类、对象、方法、实例、变量 对象&a…

vue3 + element-ui + vue router的使用教程 基于HBuilderX

文章目录 前言1.安装vue router2.创建一个router.js文件 封装router3.在main.js中导入router.js4.使用el-menu5.在el-menu使用vue router6.运行项目查看效果如下 前言 开发环境基于 HBuilderX 本文主要介绍 element-ui的el-menu组件结合vue router的使用教程 el-menu组件 &am…

Dockerfile运行指令

1.RUN 在build构建时执行命令。 举例&#xff1a;安装vim Shell命令格式 RUN yum install -y vim Exec命令格式 RUN ["yum","install","-y","vim"] 2.CMD 用于设置容器启动时默认执行的命令或参数。 如果Dockerfile中有多个CMD&a…

【经管】上市公司供应链风险数据测算数据集+dofile(2008-2023年)

A股上市公司企业供应链风险是指在企业运营过程中&#xff0c;由于供应链各环节的波动和不稳定&#xff0c;导致企业面临的生产、销售和财务风险。随着市场环境的变化&#xff0c;A股上市公司在全球化竞争中暴露出越来越多的供应链风险问题。 一、A股上市公司企业供应链风险的介…

记录一个我在idea启动时的报错

这几天我的idea突然就不能用了我就想着下一个新的&#xff0c;但是却一直报错报错内容如下 这个是我在网上截的pycharm的。 我在网上查了很多方法都不能用&#xff0c;今天重写安装发现我点了关联.java 和.pom和创建环境变量 这几个只需要创建一个快捷方式就行。我重新安装之…

HTML5新特性|01 音频视频

音频 1、Audio (音频) HTML5提供了播放音频文件的标准 2、control(控制器) control 属性供添加播放、暂停和音量控件 3、标签: <audio> 定义声音 <source> 规定多媒体资源,可以是多个<!DOCTYPE html> <html lang"en"> <head><…

138.WEB渗透测试-信息收集-小程序、app(9)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;137.WEB渗透测试-信息收集-小程序、app&#xff08;8&#xff09; 小程序的信息收集&…

TSN:工业通信的未来

一.传统以太网 1.竞争传输 传统以太网是基于竞争的传统以太网通信机制&#xff0c;当多个PC需要同一链路传输数据时&#xff0c;此时多个PC会竞争链路的使用权&#xff08;CSMA/CA&#xff09;。 如上图所示&#xff0c;当ES1向ES3传输大量非关键流量&#xff08;BE&#xff0…

如何将联系人从Android转移到 OPPO? [解决了]

概括 OPPO Reno4系列预计将于2020年10月1日上午9点30分举行线上发布会。从其官方预告片中我们不难发现&#xff0c;OPPO Reno4旗舰手机试图诠释梦想、挑战、勇气、自信和可能性。 3D曲面屏&#xff0c;图形流畅&#xff0c;机身更轻薄&#xff0c;色彩真实。听起来棒极了&…