Docker打包算法环境
本次Docker封装算法场景为CentOS7操作系统下使用Docker封装由anaconda(这个不重要)开发的算法:
系统:CentOS7
docker:19.03.13
anaconda:Anaconda3-2019.07-Linux-x86_64.sh
CentOS7安装Anaconda
将Anaconda.sh文件下载到所在位置
wget https://repo.continuum.io/archive/Anaconda3-2019.07-Linux-x86_64.sh
安装Anaconda
bash Anaconda3-2019.07-Linux-86_64.sh
一直回车,输入yes
增加环境变量
vim /root/.bashrc
输入内容如下
# added by Anaconda3 installer
export PATH='/root/anaconda3/bin:$PATH
保存退出后
source /root/.bashrc
验证Conda是否安装
conda --version
出现conda以及版本号即为正确安装
Anaconda创建虚拟环境
查看Conda信息
# 查看conda版本
conda --version
# 查看已存在的conda虚拟环境
conda env list
# 查看当前已安装的包
conda list
创建和删除虚拟环境
# 创建虚拟环境
conda create -n 虚拟环境名字 [python=3.7,此为选择python版本]
# 删除虚拟环境
conda remove -n 虚拟环境名字 --all
激活或退出虚拟环境
# 激活虚拟环境
conda activate 虚拟环境名字
# 退出虚拟环境
conda deactivate
CentOS安装Docker
安装Docker
# 下载docker的依赖
yum -y install yum-utils device-mapper-persistent-data lvm2
# 设置docker的镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker
yum makecache fast
yum -y install docker-ce
启动Docker
# 启动docker
systemctl start docker
# 设置开机自动启动
systemctl enable docker
# 验证docker是否启动
docker run hello-world
# 如果出现'Hello from Docker!'则表示docker已安装并启动
Docker封装算法
准备工作
单独文件夹下内容
- 算法及数据文件夹
- Dockerfile (Docker封装算法的重要文件)
- requirements.txt (算法依赖环境清单)
- 新文件夹(目标文件夹)
requirements.txt内容
例如:
numpy==1.19.3
pandas==1.1.3
sklearn==0.23.2
Dockerfile内容
重要的模块如下:
- FROM(指定运行环境)
- COPY(拷贝指令,可以将算法及数据复制到WORKDIR中)
- WORKDIR(指定工作目录)
- RUN(预运行指令)
- CMD(docker运行时CMD运行指令)
# FROM python=指定版本
# COPY 文件夹(.表示当前文件夹) 目标文件夹
# WORKDIR 目标文件夹/
# RUN pip install -r requirements.txt,由于上面说的问题,我这里没有走requirements.txt
# CMD ['python', '文件名']
# 例如:
FROM python=3.7
COPY . /test
WORKDIR test/
RUN pip install -i https://pypi.douban.com/simple/ numpy pandas sklearn
CMD["python", "test.py"]
配置Docker国内服务器
# 修改docker配置文件
vim /etc/docker/daemon.json
输入内容如下
{"registry-mirrors":["https://registry.docker.cn.com"]}
重启docker
systemctl restart docker
Docker打包
# docker build -t tag名 Dockerfile所在位置
# 其中-t为给docker镜像打上tag标签
docker build -t test .
运行时我们将看到如下步骤
- Step 1/5:FROM python:3.7
- Step 2/5:COPY . test/
- Step 3/5:WORKDIR /test
- Step 4/5:RUN pip3 install --user -i https://pypi.douban.com/simple/ numpy pandas sklearn
- Step 5/5:CMD ["python", "test.py"]
使用打包好的算法
# docker run 镜像名
# 例如:
docker run try