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号的镜像文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值