哈Ha! 容器化是一种软件开发方法,其中,将应用程序或服务,其依赖项和配置(抽象部署清单文件)打包到一个容器映像中。 在本文中,我们将介绍如何创建一个docker映像,并使用它运行R,Python shell等。 立即加入!

容器化的应用程序可以作为模块进行测试,并且可以作为容器实例部署在当前节点的操作系统(OS)中。
Docker是一个
开源项目,以可移植的自包含容器的形式自动化应用程序的部署,这些容器可以在云或本地环境中工作。 有关更多信息,请参见
此处 。
Microsoft Machine Learning Server是一个灵活的企业平台,用于可扩展的数据分析,创建智能应用程序和查找对业务有价值的信息,并完全支持Python和R。术语“
操作化 ”是指在Microsoft Machine Learning Server上以R和Python语言部署模型和代码。以
Web服务的形式以及随后在客户端应用程序中使用这些服务来提高公司的效率。
在本文中,我们将研究如何使用Docker文件创建包含
Machine Learning Server 9.3的docker映像,以及如何使用它执行以下操作:
- 运行R shell。
- Python Shell启动。
- 启动Jupyter Notebook。
- 启动OneBox配置。
- 启动Web服务R。
- 启动Python Web服务。
所需组件
安装了Docker社区版(CE)软件的任何Linux虚拟机。 在准备本文时,我部署了
Ubuntu 16.04 VM并
安装了docker CE 。
第一步
首先,我们将使用以下泊坞文件创建一个名为mlserver的映像,并安装了
Machine Learning Server 9.3 :
FROM ubuntu:16.04 RUN apt-get -y update \ && apt-get install -y apt-transport-https wget \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ xenial main" | tee /etc/apt/sources.list.d/azure-cli.list \ && wget https:
使用
docker build命令使用上面的docker文件创建mlserver映像:
docker build -f mlserver-dockerfile -t mlserver.
通过运行以下命令来验证mlserver映像创建是否成功完成:
docker images
R Shell启动
docker run -it mlserver R

Python Shell启动
docker run -it mlserver mlserver-python

启动Jupyter Notebook
docker run -p 8888:8888 -it mlserver /opt/microsoft/mlserver/9.3.0/runtime/python/bin/jupyter notebook --no-browser --port=8888 --ip=0.0.0.0 --allow-root
运行以上命令可以通过在浏览器中打开链接来提供链接,您可以使用Jupyter Notebooks。

启动OneBox配置
可以在安装后将Microsoft Learning Server配置为用作部署服务器并托管用于
操作的分析Web服务。
FROM ubuntu:16.04 RUN apt-get -y update \ && apt-get install -y apt-transport-https wget \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ xenial main" | tee /etc/apt/sources.list.d/azure-cli.list \ && wget https:
使用上面的docker文件创建mlserver-onebox映像:
docker build -f mlserver-onebox-dockerfile -t mlserver-onebox.
通过运行以下命令,验证mlserver-onebox映像的创建是否成功完成:
docker images
使用以下命令启动onebox容器:
docker run --name mlserver-onebox-container -dit mlserver-onebox
使用以下方法检查容器的状况:
docker logs mlserver-onebox-container
在使用上述命令验证诊断测试成功之后,您可以将该容器用作一体机(Docker日志数据应包含以下行:“所有诊断测试均已通过”。)。
通过运行以下命令获取容器的IP地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mlserver-onebox-container '172.17.0.3'
并将其用作一体机:
az login --mls --mls-endpoint "http://172.17.0.3:12800" --username "admin" --password "Microsoft@2018" az ml admin diagnostic run
启动R Web服务
我们还可以使用预配置的Web服务来创建映像,以便在部署容器后就可以立即使用它。 这是一个使用R Web服务创建图像以模拟“
手动传输”的示例,该图像已在其中预先配置。
FROM ubuntu:16.04 RUN apt-get -y update \ && apt-get install -y apt-transport-https wget \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ xenial main" | tee /etc/apt/sources.list.d/azure-cli.list \ && wget https:
使用上面的docker文件创建一个rmanualtransmission映像:
docker build -f r-manualtransmission-dockerfile -t rmanualtransmission.
通过运行以下命令来验证rmanualtransmission映像的创建是否成功完成:
docker images
使用以下命令启动容器:
docker run --name rmanualtransmission-container -dit rmanualtransmission
使用以下方法检查容器的状况:
docker logs rmanualtransmission-container
在验证诊断测试成功并且发布了Web服务之后,您可以开始使用它。
通过运行以下命令获取容器的IP地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' rmanualtransmission-container '172.17.0.3'
您可以使用或获取swagger.json R Web服务设置文件来模拟使用curl命令的手动传输:
apt-get -y install jq curl -s --header "Content-Type: application/json" --request POST --data '{"username":"admin","password":"Microsoft@2018"}' http:
swagger.json文件适用于
以任何语言创建客户端库 。
运行Python Web服务
以下是
使用Python Web服务创建图像以模拟其中预先配置
的手动变速器的示例。
FROM ubuntu:16.04 RUN apt-get -y update \ && apt-get install -y apt-transport-https wget \ && echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ xenial main" | tee /etc/apt/sources.list.d/azure-cli.list \ && wget https:
使用上面的docker文件创建pymanualtransmission映像:
docker build -f py-manualtransmission-dockerfile -t pymanualtransmission.
通过运行以下命令验证pymanualtransmission映像创建是否成功完成:
docker images
使用以下命令启动容器:
docker run --name pymanualtransmission-container -dit pymanualtransmission
使用以下方法检查容器的状况:
docker logs pymanualtransmission-container
在验证诊断测试成功并且发布了Web服务之后,您可以开始使用它。
通过运行以下命令获取容器的IP地址:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' pymanualtransmission-container '172.17.0.3'
您可以获取swagger.json文件来设置Python Web服务,以使用curl命令模拟手动传输:
apt-get -y install jq curl -s --header "Content-Type: application/json" --request POST --data '{"username":"admin","password":"Microsoft@2018"}' http:
swagger.json文件适用于
以任何语言创建客户端库 。
注意 您还可以使用魔术docker文件更改appsettings.json网站设置,并启用
LDAP / AAD身份验证 。
扩展名
可以将创建的本地docker映像发送到
Azure容器注册表(ACR )。
使用来自ACR的图像
在Azure Kubernetes服务(AKS)中创建群集,该图像
可以使用自动缩放窗格
自动缩放到双方 。
友情链接