深入理解pytorch库的dockerfile

 更新时间:2022-06-11 07:27:47   作者:佚名   我要评论(0)

目录0. dockerfile命令1. 使用指令的注意点3. 参考4. 存在的问题0. dockerfile命令
FROM # 基础镜像,一切从这里开始构建
MAINTAINER #

0. dockerfile命令

FROM 			# 基础镜像,一切从这里开始构建
MAINTAINER 		# 镜像是谁写的,姓名+邮箱
RUN				# 镜像构建的时候需要运行的命令
ADD				# 步骤:tomcat镜像,这个tomcat压缩包!添加内容
WORKDIR			# 镜像的工作目录
VOLUME			# 挂载的目录
EXPOSE			# 保留端口配置
CMD				# 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT  	# 指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD			# 当构建一个被继承DockerFile这个时候就会运行ONBUILD指令,触发指令。
COPY			# 类似ADD,将我们文件拷贝到镜像中
ENV				# 构建的时候设置环境变量

1. 使用指令的注意点

1.FROM:
如果制作base image,则使用FROM scratch

如果在某镜像基础上制作,例如使用FROM centos:7指定具体的base image的版本,不指定版本则默认为最新的。

2.LABEL:
需要对镜像做基础的介绍:

LABEL maintainer="Prin<xxx@qq.com>"
LABEL version = "1.0"
LABEL description="prin First DcokerFile"

3.RUN:
容器内执行的命令,有两种格式。
shell:RUN <命令行命令>,等同于在终端执行shell命令
exec:RUN ["可执行文件","参数1","参数2"]

注意:Dockerfile的指令每执行一次都会在docker上新建一层。所以过多无意义的层,会造成镜像膨胀过大,建议使用&&符号链接命令,例如:RUN yum -y update && yum -y install yum net-tools。

4.ADD and COPY:
概述:
ADD和COPY都是将宿主机上的文件拷入镜像中。大部分情况,,COPY优于ADD(方便明了)。 ADD除了COPY还有额外功能(解压)。添加远程文件/目录请使用curl或者wget。

ADD For_add /prin ------- 将本地文件夹For_add(与dockerfile在同一个目录)内的文件全部拷入镜像的/prin目录。
COPY For_cp /prin ------ 同上。
ADD for_add.tar.gz /prin/unzip/ ------ 将 for_add.tar.gz压缩文件拷贝进入镜像的/prin/unzip/目录,并解压。

5.WORKDIR(工作目录):
在容器生成时,默认切换到具体的目录中。

6.VOLUME(挂载):
概述:
设置数据卷的位置,并且容器在运行时自动挂载为匿名卷,当然也可以覆盖与具名挂载。

2. dockerfile

# 继承Pytorch官方的cuda镜像
FROM pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel
LABEL maintainer = "xxxxxxx@qq.com"
LABEL version = "0.2"
LABEL description = "prepare deep learning environment"
# 指定docker镜像中,默认的工作路径是/home/BE
WORKDIR /home/BE
RUN rm /etc/apt/sources.list.d/cuda.list \
	&& rm /etc/apt/sources.list.d/nvidia-ml.list \
	&& apt-get update \
	&& apt-get install -y libgl1 \
	&& conda install gdal==3.4.1 \
	&& pip config set global.index-url https://pypi.douban.com/simple/ \
	&& pip install opencv-python-headless==4.6.0.66 \
    && pip install opencv-python==4.6.0.66 \
    && pip install segmentation-models-pytorch

3. 参考

https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile

4. 存在的问题

Q1:每一次运行docker容器时,是否要挂载本地路径

docker run的时候,进行挂载

Q2:dockerfile中涉及apt-get 操作失败

官方的解释:为了最好地确保我们的 RPM 和 Debian 软件包存储库的安全性和可靠性,NVIDIA 将从 2022 年 4 月 27 日开始更新和轮换 apt、dnf/yum 和 zypper 软件包管理器使用的签名密钥。未能更新存储库签名密钥将导致尝试从 CUDA 存储库访问或安装包时出现包管理错误。为确保继续访问最新的 NVIDIA 软件,请完成以下步骤: 删除过时的签名密钥 Deb…

RUN rm /etc/apt/sources.list.d/cuda.list
RUN rm /etc/apt/sources.list.d/nvidia-ml.list

到此这篇关于pytorch库的dockerfile的文章就介绍到这了,更多相关pytorch库的dockerfile内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • Pytorch框架实现mnist手写库识别(与tensorflow对比)

相关文章

  • 深入理解pytorch库的dockerfile

    深入理解pytorch库的dockerfile

    目录0. dockerfile命令1. 使用指令的注意点3. 参考4. 存在的问题0. dockerfile命令 FROM # 基础镜像,一切从这里开始构建 MAINTAINER #
    2022-06-11
  • Java实现简单小画板

    Java实现简单小画板

    Java制作简单画板,包括两个类,一个主要画板类Drawpad,一个画板监听器DrawListener类。 1、Drawpad类,包括画板,画板功能设计,保存图片等
    2022-06-11
  • Spring?Boot项目如何优雅实现Excel导入与导出功能

    Spring?Boot项目如何优雅实现Excel导入与导出功能

    目录背景EasyExcel 问题分析与解决Spring Boot Excel 导入与导出依赖引入Excel 导入基本导入功能进阶导入功能Excel 导出Excel 导入参数校验开
    2022-06-11
  • Django框架之路由用法

    Django框架之路由用法

    简介 路由简单的来说就是根据用户请求的 URL 链接来判断对应的处理程序,并返回处理结果,也就是 URL 与 Django 的视图建立映射关系。 Djang
    2022-06-11
  • java实现面板之间切换功能

    java实现面板之间切换功能

    本文实例为大家分享了java实现面板之间切换的具体代码,供大家参考,具体内容如下 如图: 关键技术:事件监听,设置显示面板,重新刷新验证
    2022-06-11
  • Android开发手册TextInputLayout样式使用示例

    Android开发手册TextInputLayout样式使用示例

    目录前言布局代码??属性介绍前言 前面小空带同学们学了EditText控件,又用其实践做了个验证码功能,以为这就完了吗? 然而并没有。 Android在
    2022-06-11
  • python中filter,map,reduce的作用

    python中filter,map,reduce的作用

    目录一、map函数1. lambda函数2. 自定义函数二、filter函数1. lambda函数2. 自定义函数三、reduce函数1. lambda函数2. 自定义函数一、map函数
    2022-06-11
  • Java实现带图形界面的聊天程序

    Java实现带图形界面的聊天程序

    本文实例为大家分享了vue + element ui实现锚点定位的具体代码,供大家参考,具体内容如下 ServerDemo01.java import javax.swing.*; import
    2022-06-11
  • openEuler?搭建java开发环境的详细过程

    openEuler?搭建java开发环境的详细过程

    目录1. 初始化环境2. 安装jdk83. 安装SVN4. 安装Git5. 安装Node.js6. 下载并激活IntelliJ IDEA7. 下载并激活Navicat本文操作系统及版本号:&
    2022-06-11
  • Android开发手册Chip监听及ChipGroup监听

    Android开发手册Chip监听及ChipGroup监听

    目录??Chip监听??ChipGroup监听??实例效果展示??Chip监听 选中状态的监听:setOnCheckedChangeListener,该监听只有设置了checkable 属性为t
    2022-06-11

最新评论