赞
踩
为了不污染服务器环境,保证程序运行时有更好的隔离性,领导要求基于容器运行程序。
一、准备工作
1、创建文件夹faiss
该文件夹有用于存放faiss相关的文件及脚本
mkdir ~/faiss
2、创建data文件夹
cd ~/faiss
mkdir data
这个文件夹用于volume,映射容器内部文件夹
二、编写Dockerfile
- # 使用 centos:7.9 作为基础镜像
- FROM centos:7
-
- # 安装必要的系统软件包
- RUN yum install -y wget bzip2 vim
-
- # 下载并安装 Miniconda
- RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
- RUN bash miniconda.sh -b -p /opt/conda
- RUN rm miniconda.sh
- ENV PATH="/opt/conda/bin:${PATH}"
-
- # 创建 conda 环境并安装 faiss-gpu 和 pandas
- RUN conda create -y -n faiss_env python=3.8 && echo "conda activate faiss_env" >> ~/.bashrc
- #RUN conda create -n faiss_env python=3.8
- #RUN conda init bash
- #RUN conda activate faiss_env && \
- # pip3 install faiss-gpu -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
- #RUN pip3 install pandas -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
-
- # 设置工作目录
- WORKDIR /app
主要是创建了一个基于centos7的镜像,然后按照miniconda、faiss-gpu 和 pandas,但是奇怪的是在这里不管是执行pip install 还是conda install,都执行不成功,但是把这个放到容器中执行就可以,咱也不知道为啥。
三、构建镜像
创建一个名为faiss-gpu的镜像,版本为v1;为了方便记录,创建一个构建的脚本build.sh
- #!/bin/bash
- docker build -t faiss-gpu:v1 .
执行即可:
sh build.sh
查看是否成功:
docker images |grep faiss
四、运行容器
创建一个run.sh的文件,内容如下:
docker run -it --name=ndf-faiss -v /home/ndf/faiss/data:/app/data faiss-gpu:v1 /bin/bash
--name:指定了一个名称为ndf-faiss的容器;
-v:指定一个卷(volume),将宿主机的/home/ndf/faiss/data目录映射到容器的/app/data目录;
命令最后是指定了使用的镜像及版本;
OK,可以开始表演了!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。