栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

0.算法工程师工具系列--Docker快速入门

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

0.算法工程师工具系列--Docker快速入门

算法工程师工具系列–Docker快速入门

首先放一个非常实用的入门教程《Docker入门教程》: 链接.

1.Docker的主要用途:
  • 提供一次性环境:比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境
  • 提供弹性的云服务:因为 Docker 容器可以随开随关,很适合动态扩容和缩容
  • 组件微服务架构:通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构
    上述的功能用简单通俗的语言表述就是docker可以将自己环境打包给别人,提供给别人使用,而且在这个基础上可以扩充更多的功能,而且可以模拟出微服务
2.Docker的几个基本概念


(1)镜像:将软件环境打包好的模板,可以用来创建容器。这个和我们给电脑装系统那个ISO镜像类似,就相当于系统
(2)容器:镜像运行后产生的实例,这个就好比系统在电脑a上运行
(3)仓库:用于保存镜像的仓库,这个就好比github是用于存放代码的仓库,只是这里的仓库只用于存放镜像
(4)tar文件/Dockerfile文件:这个就相当于我把镜像给压缩到tar文件中,Dockerfile可以用来配置镜像(iamge)文件
通过上述的图发现,生成镜像的方式主要有三种:

  • 通过编写Dockerfile文件–build构建(这里需要注意的是Dockerfile名称大小写不能出错)
  • 通过压缩tar文件load 进去
  • 从镜像库文件pull下来
3.手把手部署(flask网页)部署到Docker中

可以参考这篇文章: Docker部署flask程序.这里面在安装库文件的时候少安装了requests库
(1)安装Docker Desktop(windows版本) 这里不再赘述
(2)生成代码运行所需要的安装库,只需要在切换到代码所在的目录下,执行pip freeze指令即可(powershell、anaconda prompt均可 )

pip freeze > requirements.txt

执行完该代码会把你当前环境下的所有库文件都生成出来,而命名实体识别的代码只需要如下的库即可,其他的可以删除:

(3)创建Dockerfile

在创建Dockerfile的过程中注意名称的大小写;编写Dockerfile内容文件

#设置python的环境镜像,从python3.6导入
FROM python:3.6
# 将BILSTM-CRF-FLASK的代码添加到镜像文件的code路径下(code路径是docker执行的时候自动创建)
ADD ./BILSTM-CRF-FLASK  /code
#将镜像中的/code文件夹设置成工作路径
WORKDIR /code
#根据之间的环境文件在镜像中安装相应的库文件
RUN pip install -r requirements.txt
#在/code路径下,执行app.py文件
CMD ["python", "/code/app.py"]

(4)创建镜像文件
本次使用的是Dockerfile文件生成的镜像,首先使用powershell切换到代码路径,使用下列命令,可以查看当前的镜像:

docker images

可以发现当前运行的镜像

切换到代码路径下:

使用docker build 构建镜像,名称为cheng

上面代码中,-t参数用来指定 image 文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest。最后的那个点表示 Dockerfile 文件所在的路径,上例是当前路径,所以是一个点
使用docker images查看,镜像已经开始运行

(5)启动容器

 docker run -it -p 5000:5000 --name=cheng cheng

其中:
-it:表示交互式终端的容器,非启动后立刻结束的容器
-p是端口映射,表示将docker的5000端口,映射到本机的5000端口
–name 给容器起个名称,这里命名为cheng
启动后的效果如下:

(6)访问容器
此时的容器内已经跑了代码,这个内容和我们在本地运行的一模一样,本地运行的图如下所示

在容器运行的时候,我们发现这个代码在地址172.17.0.2:5000上运行,这里的地址是docker容器的ip地址。

此时docker容器和我们的个人pc属于两个机器,为了本地的pc机能够访问容器,需要在flask程序中将host设置成“0.0.0.0”。

这一部分的知识可以参考: 文章.
在CMD中使用ipconfig查看本地pc的ip地址:

然后在浏览器中输入网址:http://172.28.16.1:5000/

输入文本“张三毕业于北京大学”,点击机构识别:

4.Docker常见的指令
docker ps -a #查看当前运行的容器
docker rm id  #删除当前id号的容器(容器如果没有停止,删除不了)
docker stop id #停止当前id号的容器
docker rmi id #删除当前id号的镜像文件
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/297036.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号