docker python3,docker python3.7
引起
作者:游fkdkj
假设Docker已经安装在本地Ubuntu服务器上,下面是如何开始运行Anaconda3的Docker映像:
1. 搜索镜像搜索我们想要的蟒蛇图片:
码头工人搜索蟒蛇
2. 拉取镜像我们决定拉anaconda3官方镜像,即
continuumio/anaconda3此图像:
Dockpull Continuum IO/Anaconda 3注意,这个映像的大小接近1GB,所以需要很长时间。
3.运行镜像,指定网络端口运行anaconda3 image的bash命令行,它指定了从容器到主机的端口映射:
dock Run-I-T-p 12345:8888 Continuum IO/anaconda 3/bin/bash其中:
-i:是以交互方式运行的容器,通常与-t一起使用;
-t:为容器重新分配一个虚拟输入端子,通常与-i同时使用;
-p:以主机(宿主)端口:容器端口的格式指定端口映射。
具体数字随便写。
您可以输入anaconda3的命令行。
4.检查python Python的版本
当前版本是3.7.3。
5.有两种方法可以查看已安装的库,可以使用pip和conda。
conda列表pip列表
6.安装xgboost(或其他包)。第一,原图要没有xgboost。测试它:
(base)root @ 4e 0533451 e3a:/# python python 3 . 7 . 3(默认,2019年3月27日22:11:17)[GCC 7.3.0] : Anaconda,Inc. on linuxType键入 help , copyright , credits 或 license 了解更多信息。import xgboostTraceback(最近一次调用last):ModuleModuleNotFunderError中文件 stdin ,第1行:没有名为 xgboost 的模块表示没有安装xgboost,然后按ctrl z退出python环境,我们来安装XG Boost:
pip Install-I https://pypi.tuna.tsinghua.edu.cn/simple xgboost安装成功,可以调用xgboost,如图:
7.重命名anaconda映像:首先,为了方便以后使用,我们需要重命名容器。
最初,运行anaconda映像的容器的名称是4e0533451e3a,我们将其重命名为AnacondaEnvironment。
docker重命名cc 432 D1 F6 b 13 AnacondaEnvironment
xgboost的8. 重新运行改名后的镜像:Docker Start-I Anaconda环境测试:
root @ Hz-sjfx-test-199-138-5:~ # docker start-I AnacondaEnvironment(base)root @ cc 432 D1 F6 b 13:/# python python 3 . 7 . 3(默认,2019年3月27日22:11:17)[GCC 7 . 3 . 0]:* Anaconda,Inc .在Linux上键入 help 、 copyright 、 credits 或 license 以了解更多信息。进口XG Boost XG Boost。_ _ version _ _ 0.90 成功!
9.在这个容器中运行jupyter notebook:之前我们已经指定了主机的端口和容器的端口相互映射,其中:
主机的端口是:12345
集装箱的港口是:8888
启动容器中的jupyter笔记本:
jupyter笔记本-端口8888 - ip 0.0.0.0 -允许-root
此时复制:
http://127.0.0.1:8888/?token=a6b 3189 e8f 96802 b 6d 193475 f 0 e 30908 C3 a2 e 16816 E1 a 444并将之前的127.0.0.1:8888(容器的ip和端口)更改为主机的ip和8888并映射到主机的端口12345:
http://10.199.138.5:12345/?token=a6b 3189 e8f 96802 b 6d 193475 f 0 e 30908 C3 a2 e 16816 E1 a 444,然后在您的本地浏览器中打开它:
运行成功!
10.将当前容器打包成一个新的映像:目前,我们已经对原始的anaconda3映像做了一些更改:
Xgboost已安装。
lightgbm已安装
随机创建了一个新的ipynb文件。
然后我们想把当前的容器状态打包成一个新的镜像,这样以后就可以部署到其他地方,不用安装xgboost之类的。
使用docker commit命令将容器打包为镜像:
root @ Hz-sjfx-test-199-138-5:~ # docker commit-help usage:docker commit[OPTIONS]CONTAINER[REPOSITORY[:TAG]]从容器的更改创建新的图像选项:-a,- author stringAuthor(例如, John Hannibal Smith Hannibal @ a-team . com )-c,-change list将Dockerfile指令应用于创建的图像- helpPrint usage-m,- message stringCommit message-p,-pause在提交期间使用容器(默认为true)
我们的容器名称是cc432d1f6b13,所以:
Docker commit-a nimen David -m nimen David基于anaconda 3的第一个docker映像,带有XG boost和light GBM cc 432 D1 f 6b 13 new _ anaconda _ XG boost其中:
—‘nimendavid’是指作者。
-米尼门大卫的.‘轻GBM’指的是解释注释。
Cc432d1f6b13是指容器的短id,可以从命令行看到。
New_anaconda_xgboost是指我们打包的新映像的名称。
现在应该已经打包成功了。
1.检查新图像:docker图像ls
我们可以看到,第一个图像是我们刚刚打包的图像,大小为整整3.05GB。
12.将打包的新图像上传到Docker Hub:
首先,我们需要标记这个新图像,以便于上传到公共服务器上:
docker标签new_anaconda_xgboost:最新nimendavid/machine _ learning:v 0.1
其中包括:
new_anaconda_xgboost:最新
是格式本地镜像名:标签,可以通过docker镜像ls查看。
nimendavid/机器学习:v0.1
格式为dockerhub用户名/仓库名:标签,需要有dockerhub账号,v0.1为自定义版本号。
然后记得登录服务器上的dockerhub,否则推送会报错:
Docker登录最后把本地镜像推送到dockerhub,记得登出dockerhub:
还是推的慢.耐心等待。
注销dockerhub:
docker注销
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。