使用Conda环境创建Docker镜像的完整步骤指南

 更新时间:2025年03月27日 10:04:13   作者:Zhijun.li@Studio  
Docker是实现容器化的主流工具之一,而Conda作为科学计算和Python的包管理器,与Docker的结合能为开发者提供高度灵活、易于管理的开发环境,这篇文章主要介绍了使用Conda环境创建Docker镜像的完整步骤,需要的朋友可以参考下

前言

在现代开发中,容器化已经成为管理和部署复杂软件环境的首选方式。对于基于 Conda 的 Python 环境,如何将本地环境高效地迁移到 Docker 镜像中是一项常见但关键的任务。本文提供了两种方法,分别是基于网络安装和基于本地环境的 Dockerfile 配置,帮助开发者快速构建和部署符合需求的 Docker 镜像。

1.基于网络安装的Dockerfile

(1)进入指定环境下,导出环境列表

conda activate llama-factory
conda env export --name llama-factory > environment.yml

(2)新建Dockerfile

这样build的image会去按environment.yml中的包,一个个安装到image中

# 基于官方的 Conda 镜像
FROM continuumio/miniconda3

# 设置工作目录
WORKDIR /app

# 将环境配置文件复制到容器中
COPY environment.yml /app/

# 创建 Conda 环境并安装依赖
RUN conda env create -f environment.yml

# 激活环境
SHELL ["conda", "run", "-n", "llama-factory", "/bin/bash", "-c"]

# 设置工作目录(可选)
WORKDIR /app

# 容器启动时,默认激活环境并启动 bash
ENTRYPOINT ["conda", "run", "-n", "llama-factory", "/bin/bash"]

# 如果容器启动时需要执行其他命令,使用 CMD 指定
CMD ["bash"]

2.基于本地环境的Dockerfile

(1)准备环境

可以先把conda环境下的包拷贝到当前目录下,并且拷贝所需数据及代码

cp -r /home/lizhijun/anaconda3/envs/llama-factory ./llama-factory

(2)新建Dockerfile

需要修改下按自己的情况,修改下

COPY llama-factory-env /opt/conda/envs/llama-factory
COPY LLaMA-Factory /workspace/LLaMA-Factory
# 使用Ubuntu基础镜像
FROM ubuntu:20.04

# 避免交互式提示
ENV DEBIAN_FRONTEND=noninteractive

# 安装基础工具
RUN apt-get update && \
    apt-get install -y \
    wget \
    bzip2 \
    ca-certificates \
    libglib2.0-0 \
    libxext6 \
    libsm6 \
    libxrender1 \
    git \
    && rm -rf /var/lib/apt/lists/*

# 安装 Miniconda
RUN wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
    bash ~/miniconda.sh -b -p /opt/conda && \
    rm ~/miniconda.sh && \
    /opt/conda/bin/conda clean -a -y

# 添加 Miniconda 到 PATH
ENV PATH /opt/conda/bin:$PATH

# 创建必要的目录
WORKDIR /workspace

# 从当前目录复制环境
COPY llama-factory-env /opt/conda/envs/llama-factory


# 确保复制的环境可用并升级 pip
RUN /bin/bash -c "conda init bash && \
    source ~/.bashrc && \
    source activate llama-factory && \
    python -m pip install --upgrade pip"


# 复制 LLaMA-Factory 文件夹
COPY LLaMA-Factory /workspace/LLaMA-Factory

# 进入 LLaMA-Factory 目录
WORKDIR /workspace/LLaMA-Factory

# 设置容器启动时默认使用的 Shell
CMD ["/bin/bash"]

3.编译及运行

docker build -t llama-factory-image .
docker run --gpus all -it llama-factory-image

运行成功如下图

4.保存(迁移)及加载

把刚刚的docker image转为压缩包,放到新机子上加载

docker save -o llama-factory-image.tar llama-factory-image
docker load -i llama-factory-image.tar

总结 

到此这篇关于使用Conda环境创建Docker镜像的文章就介绍到这了,更多相关Conda环境创建Docker镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 基于docker搭建redis-sentinel集群的方法示例

    基于docker搭建redis-sentinel集群的方法示例

    这篇文章主要介绍了基于docker搭建redis-sentinel集群的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

    Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

    本文给大家分享的是作者基于Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress的详细过程,非常的全面,有需要的小伙伴可以参考下
    2017-02-02
  • docker中mysql数据库密码修改方法

    docker中mysql数据库密码修改方法

    长时间使用非关系型数据库MongoDB近期遇到突然想使用mysql却发现mysql密码忘记了,下面这篇文章主要给大家介绍了关于docker中mysql数据库密码修改方法的相关资料,需要的朋友可以参考下
    2023-11-11
  • IDEA部署Docker到WSL2的详细过程

    IDEA部署Docker到WSL2的详细过程

    这篇文章主要介绍了IDEA 部署 Docker 到 WSL2的过程详解,本地环境Windows10+WSL2(Ubuntu),具体操作过程跟随小编一起看看吧
    2021-07-07
  • docker中时区问题的处理方法

    docker中时区问题的处理方法

    这篇文章主要给大家介绍了关于docker中时区问题的处理方法,文中通过示例代码介绍的非常详细,对大家学习或者使用docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • 如何查看docker容器运行进程信息

    如何查看docker容器运行进程信息

    这篇文章主要介绍了如何查看docker容器运行进程信息问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Docker 制作tomcat镜像并部署项目的步骤

    Docker 制作tomcat镜像并部署项目的步骤

    这篇文章主要介绍了Docker 制作tomcat镜像并部署项目 ,讲解如何制作自己的tomcat镜像,并使用tomcat部署项目,需要的朋友可以参考下
    2022-10-10
  • docker中的jenkins之流水线构建项目步骤详解

    docker中的jenkins之流水线构建项目步骤详解

    jenkins有2种流水线分为声明式流水线与脚本化流水线,脚本化流水线是jenkins旧版本使用的流水线脚本,新版本Jenkins推荐使用声明式流水线,本文给大家介绍docker中的jenkins之流水线构建项目,感兴趣的朋友一起看看吧
    2023-08-08
  • Docker中Cgroup资源配置的实现

    Docker中Cgroup资源配置的实现

    Cgroup不仅可以限制被namespace 隔离起来的资源,还可以为资源设置权重、计算使用量、操控进程启停等,本文主要介绍了Docker中Cgroup资源配置的实现,感兴趣的可以了解一下
    2023-09-09
  • 一文学会docker 安装mysql的方法

    一文学会docker 安装mysql的方法

    这篇文章主要介绍了docker 安装 mysql的方法,通过使用docker命令下载mysql接着使用docker命令创建实例并启动,对docker 安装 mysql相关知识感兴趣的朋友一起看看吧
    2022-04-04

最新评论