使用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集群的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2019-06-06
Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践
本文给大家分享的是作者基于Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress的详细过程,非常的全面,有需要的小伙伴可以参考下2017-02-02


最新评论