本次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封装算法

准备工作

单独文件夹下内容

  1. 算法及数据文件夹
  2. Dockerfile (Docker封装算法的重要文件)
  3. requirements.txt (算法依赖环境清单)
  4. 新文件夹(目标文件夹)

requirements.txt内容

例如:
numpy==1.19.3
pandas==1.1.3
sklearn==0.23.2

Dockerfile内容

重要的模块如下:

  1. FROM(指定运行环境)
  2. COPY(拷贝指令,可以将算法及数据复制到WORKDIR中)
  3. WORKDIR(指定工作目录)
  4. RUN(预运行指令)
  5. 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 .

运行时我们将看到如下步骤

  1. Step 1/5:FROM python:3.7
  2. Step 2/5:COPY . test/
  3. Step 3/5:WORKDIR /test
  4. Step 4/5:RUN pip3 install --user -i https://pypi.douban.com/simple/ numpy pandas sklearn
  5. Step 5/5:CMD ["python", "test.py"]

使用打包好的算法

# docker run 镜像名

# 例如:
docker run try

标签: docker

添加新评论