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

深圳产品设计手绘天津优化公司哪家好

深圳产品设计手绘,天津优化公司哪家好,快速提高关键词排名的软件,阿里云虚拟机怎么做多个网站文章目录 前言Dockerfile 核心模块解析**一、Dockerfile基础镜像选择二、系统基础配置1、时区设置2、镜像源替换 三、系统依赖安装四、复制本地文件五、指定路径六、Anaconda环境配置1、anaconda环境安装2、配置虚拟环境3、创建conda虚拟环境4、启动和安装环境 七、完整dockerf…

文章目录

  • 前言
  • Dockerfile 核心模块解析**
  • 一、Dockerfile基础镜像选择
  • 二、系统基础配置
    • 1、时区设置
    • 2、镜像源替换
  • 三、系统依赖安装
  • 四、复制本地文件
  • 五、指定路径
  • 六、Anaconda环境配置
    • 1、anaconda环境安装
    • 2、配置虚拟环境
    • 3、创建conda虚拟环境
    • 4、启动和安装环境
  • 七、完整dockerfile文件

前言

在深度学习与自然语言处理领域,环境配置的复杂性常常成为开发者的痛点。本文将通过一个基于CUDA 12.1的深度学习环境Dockerfile实例,详解如何高效构建可复现的容器化开发环境,并结合Dockerfile最佳实践,助你掌握企业级镜像构建技巧。

Dockerfile 核心模块解析**

一、Dockerfile基础镜像选择

可以使用网上docker镜像拉取,也可以使用本地镜像构建。我使用本地镜像构建,其代码如下:

FROM nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04

关键点:选择官方CUDA镜像,确保GPU加速支持
最佳实践
• 优先使用带版本标签的官方镜像(如12.1.1-cudnn8),避免latest标签
• 开发环境推荐-devel版本,包含完整开发工具链

二、系统基础配置

给系统配置时间区和镜像源设置,分别如下:

1、时区设置

# 时区设置
ENV TZ=Asia/Shanghai
RUN apt-get update && \DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata && \ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \echo $TZ > /etc/timezone

2、镜像源替换

RUN sed -i \-e 's|http://.*ubuntu.com|https://mirrors.aliyun.com|g' \/etc/apt/sources.list

技术细节
DEBIAN_FRONTEND=noninteractive:避免交互式提示,实现静默安装
分层构建:合并apt-get update与安装命令,防止缓存过期
• 国内镜像加速:替换阿里云源提升包下载速度

三、系统依赖安装

一般而言,需要对docker镜像进行安装,可使用如下命令完成。

RUN apt-get install -y --no-install-recommends \build-essential libreadline-dev ... && \apt-get clean && \rm -rf /var/lib/apt/lists/*

优化技巧
--no-install-recommends:仅安装必要依赖,减少镜像体积
清理缓存apt-get cleanrm -rf组合减少冗余文件

四、复制本地文件

通过ADD命令实现。

# 复制项目文件
ADD nl2sql /opt/nl2sql
WORKDIR /opt/nl2sql

五、指定路径

在 Dockerfile 中,WORKDIR 指令用于设置容器内的工作目录。它定义了后续的 RUN、CMD、ENTRYPOINT、COPY 和 ADD 指令执行时的默认路径。

WORKDIR /opt/nl2sql

六、Anaconda环境配置

如果你需要配置anaconda环境安装,可以使用网络下载或本地提供,我使用本地提供。

1、anaconda环境安装

anaconda环境安装使用了本地文件,也指定安装了/home/anaconda3路径中。

ADD Anaconda3-2022.10-Linux-x86_64.sh /tmp/
RUN bash /tmp/Anaconda3-2022.10-Linux-x86_64.sh -b -p /home/anaconda3 && \rm /tmp/Anaconda3-2022.10-Linux-x86_64.sh

最佳实践
• 使用ADD指令:支持本地文件直接部署(需注意与COPY的区别)
虚拟环境隔离:创建独立conda环境避免包冲突

2、配置虚拟环境

简单说就是将conda路径加载到~/.bashrc系统环境中。

# 配置环境变量(参考[4,5,7](@ref))
ENV PATH="/home/anaconda3/bin:$PATH"
RUN conda init bash && \conda config --set auto_activate_base false

3、创建conda虚拟环境

# 创建虚拟环境(参考[1,5,7](@ref))
RUN conda create -y -n nl2sql_env python=3.12.9

4、启动和安装环境

启动虚拟环境和安装相应库,如下:

# 安装Python依赖(在虚拟环境中安装[1,3,7](@ref))
RUN echo "conda activate nl2sql_env" >> ~/.bashrc && \/bin/bash -c "source activate nl2sql_env && \python -m pip install --upgrade pip && \pip install \langchain-qdrant \langchain_openai \langchain==0.3.19 \dmPython \vanna==0.7.6 \simplejson \llama-index \loguru==0.7.3 \dataclasses \qdrant_client \langchain_qdrant \unstructured \langchain-community \python-docx \-i https://pypi.tuna.tsinghua.edu.cn/simple \--trusted-host pypi.tuna.tsinghua.edu.cn"

七、完整dockerfile文件

我给出整体内容如下:


# 基础镜像(基于CUDA 12.1 + cuDNN 8 + Ubuntu 22.04)
FROM nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04# ---------- 系统基础配置 ----------
# 设置时区(需显式安装tzdata[6,7](@ref))
ENV TZ=Asia/Shanghai
RUN apt-get update && \DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata && \ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \echo $TZ > /etc/timezone && \apt-get clean# 替换阿里云镜像源(完整覆盖所有仓库[9,11](@ref))
RUN sed -i \-e 's|http://$archive\|security$.ubuntu.com|https://mirrors.aliyun.com|g' \/etc/apt/sources.list# ---------- 系统依赖安装 ----------
RUN apt-get update && \apt-get install -y --no-install-recommends \software-properties-common \build-essential \libreadline-dev \libncursesw5-dev \libssl-dev \libsqlite3-dev \tk-dev \libgdbm-dev \libbz2-dev \zlib1g-dev \libffi-dev \liblzma-dev \wget \bzip2 && \apt-get clean && \rm -rf /var/lib/apt/lists/*# ---------- Anaconda3 安装 ----------
# 安装Anaconda到指定路径(参考[1,3,6](@ref))
ADD Anaconda3-2022.10-Linux-x86_64.sh /tmp/
RUN bash /tmp/Anaconda3-2022.10-Linux-x86_64.sh -b -p /home/anaconda3 && \rm /tmp/Anaconda3-2022.10-Linux-x86_64.sh# 配置环境变量(参考[4,5,7](@ref))
ENV PATH="/home/anaconda3/bin:$PATH"
RUN conda init bash && \conda config --set auto_activate_base false# 创建虚拟环境(参考[1,5,7](@ref))
RUN conda create -y -n nl2sql_env python=3.12.9# ---------- 应用部署 ----------
# 复制项目文件
ADD nl2sql /opt/nl2sql
WORKDIR /opt/nl2sql# 安装Python依赖(在虚拟环境中安装[1,3,7](@ref))
RUN echo "conda activate nl2sql_env" >> ~/.bashrc && \/bin/bash -c "source activate nl2sql_env && \python -m pip install --upgrade pip && \pip install \langchain-qdrant \langchain_openai \langchain==0.3.19 \dmPython \vanna==0.7.6 \simplejson \llama-index \loguru==0.7.3 \dataclasses \qdrant_client \langchain_qdrant \unstructured \langchain-community \python-docx \-i https://pypi.tuna.tsinghua.edu.cn/simple \--trusted-host pypi.tuna.tsinghua.edu.cn"# 设置执行权限(按需调整[5](@ref))
RUN find /opt/nl2sql -name "*.sh" -exec chmod +x {} \;

dockerfile成功安装镜像如下图:
在这里插入图片描述

http://www.dtcms.com/wzjs/514146.html

相关文章:

  • 汽车宣传网站模板定制网站开发公司
  • 湖南微信网站公司简介重庆seo点击工具
  • c2c网站建设2023新闻摘抄十条
  • 商丘做网站公司新站seo快速收录网页内容页的方法疫情防控最新通告
  • 网站的外链接数无锡网站优化公司
  • 做美食网站赚钱吗seo的理解
  • 给别人做网站挣钱吗哈尔滨seo关键词优化
  • 做网站销售的工作电商网站建设方案
  • ps做分享类网站效果图深圳最好seo
  • 哪个网站可以做微信头图长沙做网站的公司有哪些
  • ps做网站大小廊坊网站建设优化
  • 青岛做网站公司怎么制作自己公司网站
  • 仿网站视频教程站长工具 seo查询
  • 展示网站模板下载自己有网站怎么推广
  • 哪些网站百度不收录seo赚钱培训
  • 第三方网站建设平台在线葡京在线葡京
  • 杭州黑马程序员培训机构怎么样深圳网站设计十年乐云seo
  • 网站建设疑问第三方推广平台
  • 自己做网站传视屏windows优化软件哪个好
  • 手机网站开发 和 网页注册网站域名
  • 网站群建设方案广州seo好找工作吗
  • 西安建网站的公司网站开发月薪多少钱
  • 淄博学校网站建设报价顶尖文案网站
  • 有动态图片的网站源码湖南正规seo公司
  • 武汉 开发 公司 网站建设微信广告
  • 网站空间哪家做的好上海疫情最新消息
  • 个人网站能百度推广吗衡阳seo优化推荐
  • 做网站难还是app软件排名优化
  • 通辽网站开发最新国内新闻重大事件
  • 东阳实惠营销型网站建设今天刚刚发生的新闻