构建Docker基础镜像(ubuntu20.04+python3.9.10+pytorch-gpu-cuda11.8)

文章目录

  • 一、前置条件
    • 1.创建 ubuntu 镜像源文件【sources.list】
    • 2.下载 python 安装包【Python-3.9.10.tgz】
  • 二、构建方法
    • 1.构建目录
    • 2.创建DockerFile
    • 3.打包镜像


一、前置条件

  1. 配置一下 ubuntu 的镜像源
  2. 下载 python 安装包

1.创建 ubuntu 镜像源文件【sources.list】

内容如下

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

2.下载 python 安装包【Python-3.9.10.tgz】

访问官网下载页 https://www.python.org/downloads/release/python-3910/
下拉选择 Gzipped 包
在这里插入图片描述


二、构建方法

1.构建目录

|---baseIMG_ub2004py3910pytorchgpucuda118
		|
		|-----python
		|		|-----Python-3.9.10.tgz
		|
		|-----ubuntu
		|		|-----sources.list
		|
		|-----Dockerfile

2.创建DockerFile

#FROM python:3.9
FROM ubuntu:20.04

# 作者
MAINTAINER ps

# 工作目录
WORKDIR /baseIMG_ub2004py3910pytorchgpucuda118

# 宿主机文件复制到镜像
ADD . /baseIMG_ub2004py3910pytorchgpucuda118

# 配置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone


# 更新ubuntu
RUN mv ./ubuntu/sources.list /etc/apt/sources.list
#RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
RUN apt --fix-broken -y install
RUN apt -y update
RUN apt -y upgrade


## 安装python
#RUN apt-get install python3.7


# # 安装chrome
# ## 安装依赖
# RUN apt -y install libxss1 libappindicator1 libindicator7 fonts-liberation libasound2
# RUN apt -y install libatk-bridge2.0-0 libatspi2.0-0 libcurl3-gnutls libcurl3-nss libcurl4
# RUN apt -y install libdrm2 libgbm1 libgtk-3-0 libxkbcommon0 xdg-utils wget
# RUN apt --fix-broken -y install
# # 安装浏览器
# RUN dpkg -i ./chrome/google-chrome-stable_current_amd64.deb
# # 查看版本
# RUN google-chrome --version
# # Google Chrome 101.0.4951.64
# 
# # 安装chromedriver
# # 安装unzip
# RUN apt install unzip
# # 解压
# RUN unzip ./chrome/chromedriver_linux64.zip
# # 移动并创建软连接到默认路径,后续启动selenium时就不需要指定chromedriver的路径了
# RUN mv ./chromedriver /usr/local/share/chromedriver
# RUN ln -s /usr/local/share/chromedriver /usr/bin/chromedriver




# 安装python
RUN apt -y install build-essential libbz2-dev
RUN apt -y install libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
RUN apt -y install zlib1g-dev
RUN mv ./python /usr/local/bin/python
RUN cd /usr/local/bin/python && tar -xzvf Python-3.9.10.tgz && cd Python-3.9.10 && ./configure --enable-optimizations && make && make install

# 安装pytorch-gpu-cuda11.8
RUN apt install -y libbz2-dev
# 阿里源
RUN pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/
RUN python3 -m pip install -U pip setuptools wheel
RUN pip3 install apscheduler

## CPU
#RUN pip3 install torch torchvision torchaudio
# GPU
RUN pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118


# linux下需要此步骤以防报错  ModuleNotFoundError: No module named '_bz2'
# RUN cp /usr/lib/python3.8/lib-dynload/_bz2.cpython-38-x86_64-linux-gnu.so /usr/local/lib/python3.7/lib-dynload/_bz2.cpython-37m-x86_64-linux-gnu.so



# 镜像打包命令
# docker build -t ub2004py371chm101chmdr101:latest .


3.打包镜像

docker build -t ub2004py3910pytorchgpucuda118:latest .

ps:创建镜像名为 ub2004py3910pytorchgpucuda118 标签为 latest 的镜像,从当前路径下的 DockerFile 文件打包

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

麒麟信安登录央视,深度展现为中国信息安全铸“魂”之路

麒麟信安登录央视,深度展现为中国信息安全铸“魂”之路 近日,麒麟信安登录央视频道,《麒麟信安——为中国信息安全铸“魂”》在CCTV-4中文国际频道、CCTV-7国防军事频道、CCTV-10 科教频道、CCTV-12社会与法频道、CCTV-17农业农村频道&#x…

动态调整学习率Lr

动态调整学习率Lr 0 引入1 代码例程1.1 工作方式解释 2 动态调整学习率的几种方法2.1 lr_scheduler.LambdaLR2.2 lr_scheduler.StepLR2.3 lr_scheduler.MultiStepLR2.4 lr_scheduler.ExponentialLR2.2.5 lr_scheduler.CosineAnnealingLR2.6 lr_scheduler.ReduceLROnPlateau2.7 …

后门程序2

System\CurrentControlSet\Services\Disk\Enum Windows 操作系统注册表中的一个路径。这个路径通常包含有关磁盘设备的信息。在这个特定的路径下,可能存储了有关磁盘枚举的配置和参数 Enum(枚举)子键通常包含了系统对磁盘的枚举信息&#xf…

网络安全/黑客技术(0基础入门到进阶提升)

前言 前几天发布了一篇 网络安全(黑客)自学 没想到收到了许多人的私信想要学习网安黑客技术!却不知道从哪里开始学起!怎么学 今天给大家分享一下,很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习…

高通SDX12:ASoC 音频框架浅析

一、简介 ASoC–ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。 本文基于高通SDX12平台,对ASoC框架做一个分析。 二、整体框架 1. 硬件层面 嵌入式Linux设备的Audio subsystem可以划分为Machine(板…

关于企业海外Social平台营销布局,你需要了解这三件事

01 企业Social营销布局模式 Social营销走到现在,早已进入了标准配置期。任何企业和组织,进行营销宣传的时候都会在社媒社交平台上创建账号和运营。目前,海外Social平台营销模式基本分为四类: 官方社媒账号运营:以Hoot…

HTML5学习系列之主结构

HTML5学习系列之主结构 前言HTML5主结构定义页眉定义导航定义主要区域定义文章块定义区块定义附栏定义页脚 具体使用总结 前言 学习记录 HTML5主结构 定义页眉 head表示页眉&#xff0c;用来表示标题栏&#xff0c;引导和导航作用的结构元素。 <header role"banner…

使用Python和requests库的简单爬虫程序

这是一个使用Python和requests库的简单爬虫程序。我们将使用代理来爬取网页内容。以下是代码和解释&#xff1a; import requests from fake_useragent import UserAgent # 每行代理信息 proxy_host "jshk.com.cn" # 创建一个代理器 proxy {http: http:// proxy_…

SQLServer添加Oracle链接服务器

又一次在项目中用到了在SQLServer添加Oracle链接服务器&#xff0c;发现之前文章写的也不太好使&#xff0c;那就再总结一次吧。 1、安装OracleClient 安装64位&#xff0c;多数SQLServer是64位&#xff0c;所以OracleClient也安装64位的&#xff1b; 再一个一般安装的Oracl…

Python二级 每周练习题26

如果你感觉有收获&#xff0c;欢迎给我打赏 ———— 以激励我输出更多优质内容 练习一: 从键盘输入任意字符串&#xff0c;按照下面要求分离字符串中的字符&#xff1a; 1、分别取出该字符串的第偶数位的元素&#xff08;提醒注意&#xff1a;是按照从左往右数的 方式确定字…

新增配置字

新增的配置字 “使用的集成功放通道数量”&#xff0c;我的理解 channelnum 和 有没有AVAS有关&#xff0c;油车的话没有AVAS&#xff1b; a2b :有外置功放肯定有a2b; amp1:内置功放&#xff1b; amp2:Avas 用的内置功放&#xff1b;

如何防止听力下降?

听力受损是不可逆的&#xff0c;一旦听力下降了是无法恢复的&#xff0c;所以当我们出现听力障碍的时候&#xff0c;我们更应该注意我们的耳朵&#xff0c;想想如何能保护我们的残余听力&#xff01; 今天来告诉大家&#xff0c;哪些事是有易于听力的&#xff0c;一起来看看吧…

一款免费好用的制作电子杂志网站,发现新大陆~

你是不是也厌倦了传统纸质杂志的限制&#xff0c;想要尝试一种全新的阅读体验&#xff1f;那么&#xff0c;今天我要向你推荐的这款免费好用的制作电子杂志网站&#xff0c;绝对能让你眼前一亮&#xff01; 这款网站就是FLBOOK在线制作电子杂志平台&#xff0c;并且界面简洁、操…

Kubernetes介绍和环境部署

文章目录 Kubernetes一、Kubernetes介绍1.Kubernetes简介2.Kubernetes概念3.Kubernetes功能4.Kubernetes工作原理5.kubernetes组件6.Kubernetes优缺点 二、Kubernetes环境部署环境基本配置1.所有节点安装docker2.所有节点安装kubeadm、kubelet、kubectl添加yum源containerd配置…

【带头学C++】----- 五、字符串操作函数 ---- 5.1 字符串操作函数

5.1字符串操作函数(以str开头的字符串处理函数默认遇到\0结束操作) 5.1.1 测量字符串的长度strlen() strlen() 函数用于计算一个字符串的长度。 #include <string.h> //注意&#xff1a;该头文件必须包含 size_t strlen(const char *s); // s指的是需要测量字符串的首地…

【T690 之十一】基于方寸EVB2开发板,结合 Eclipse+gdb+gdbserver 调试 CCAT 的流程总结

目录 1. 准备工作1.1 Eclipse1.2 工程编译1.3 烧写固件 2. 创建工程2.1 搭建调试工程2.2 配置Dbug调试信息 3. 调试4. 手动调试过程4. 总结 备注&#xff1a; 1&#xff0c;假设您已对方寸微电子的T690系列芯片的使用方式都有了一定的了解&#xff0c;可以根据此文的配置进行Li…

前端中 JS 发起的请求可以暂停吗?

给大家推荐一个实用面试题库 1、前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;web前端面试题库 这个问题非常有意思&#xff0c;我一看到就想了很多可以回复的答案&#xff0c;但是评论区太窄&#xff0c;就直接开…

印刷包装服务预约小程序的作用是什么

印刷包装厂家非常多&#xff0c;其主要服务为名片印刷、礼品纸袋定制、画册宣传单印刷等&#xff0c;这些服务对大多数企业都有很高的需求&#xff0c;同时具备批量、长期合作属性&#xff0c;同时具备跨区域合作性&#xff0c;所以品牌可扩展度高。 但高需求的同时&#xff0…

查询数据表格中的数据

1.创建这个表至少20个 1&#xff09;创建数据库&#xff1a;create database 四川信息职业技术; 2&#xff09;创建数据表 3&#xff09;插入数据&#xff08;第一条代码修改了一下手机号码的字段类型&#xff09; 2.统计表中的人数 如果你想根据某个特定的列来统计人数&…

mysql、mysql+python

一、 window端mysql免费版&#xff1a; &#xff08;未特别描述则不做更改直接点下一步&#xff09; 下载地址&#xff1a;https://downloads.mysql.com/archives/installer mysql安装好后添加path&#xff1a; 将MySQL安装目录的bin文件夹的路径复制&#xff0c;点新建添加…