docker搭建python环境并打包镜像然后使用镜像启动python程序和flask程序
2017-04-15 14:41
941 查看
搭建python环境
双击打开docker
然后下载镜像:
进入ubuntu容器交互系统:
-t 是启动终端
-i是允许进行交互
这时候敲python命令会发现没有python
ubuntu下安装python:
查看是否成功:
-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径
-w参数,是指定为当前镜像工作目录
在本机/Users/zjl/python3i/py3image下创建一个a.py,执行
打包装了python的容器:
命令:docker commit <容器id> 新的镜像名
批量安装库:
命令:docker -v 宿主机目录:容器目录 -w 容器当前工作目录 镜像名 命令
-w参数,是指定为当前镜像工作目录
因为再启动镜像会到初始化的样子所以再打包一次容器,保留内容
进入容器互动:
或者
新建一个a.py,在里面import几个刚装的库
再执行:
导出镜像:
命令:
需要导出路径喝文件名
需要导出的镜像名
导入镜像:
命令:
容器和镜像的理解:
镜像是只读文件,感觉像是一个系统安装iOS文件
容器是用来运行镜像并对镜像进行读写的,像是ios安装后的系统,自己本身也能再打包成一个ios文件,容器关闭后不保存修改的数据,再次打开恢复到镜像最初的数据
docker容器内python执行flask程序:
修改flask的host=‘0.0.0.0’
命令:
flask程序启动了容器的5000端口,但是映射到了主机的5001端口,访问的IP为docker服务的IP
用docker容器内的python环境执行python程序时将里面连接数据库或者其它啥需要设置IP的都不要用127.0.0.1
windows下启动flask:
不要忘记host='0.0.0.0'
docker run -p 5001:5000 -v D:\PycharmProjects\spider:/py3image -w /py3image python3env python3 runflask.py
windows10下我是从下官网docker再下载ubuntu镜像开始,并不是倒入mac下的镜像,但是奇怪为啥ip还是127.0.0.1,和mac上不一样
双击打开docker
然后下载镜像:
docker pull ubuntu
进入ubuntu容器交互系统:
docker run -i -t ubuntu /bin/bash
-t 是启动终端
-i是允许进行交互
这时候敲python命令会发现没有python
ubuntu下安装python:
apt-get update apt-get install python3 #安装好python用输入python3试一下 #安装pip apt-get install python3-pip(这个命令好像会同时安装python2.7) #安装好pip用输入pip试一下 apt-get install python3-dev apt-get install openssl apt-get install libssl-dev apt-get install libffi-dev
查看是否成功:
docker run -v /Users/zjl/python3i/py3image:/py3image -w /py3image ubuntu python3 a.py
-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径
-w参数,是指定为当前镜像工作目录
在本机/Users/zjl/python3i/py3image下创建一个a.py,执行
打包装了python的容器:
命令:docker commit <容器id> 新的镜像名
docker commit 1604777a778c docker/python3env
批量安装库:
命令:docker -v 宿主机目录:容器目录 -w 容器当前工作目录 镜像名 命令
docker run -v /Users/zjl/python3i/py3image:/py3image -w /py3image ubuntu pip3 install -r requirements.txt-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径
-w参数,是指定为当前镜像工作目录
因为再启动镜像会到初始化的样子所以再打包一次容器,保留内容
docker commit 62d4eefe7e62 python3env
进入容器互动:
docker run -i -t -v /Users/zjl/python3i/py3image:/py3image -w /py3image python3env /bin/bash敲python进入互动,import一个刚才安装的库
或者
新建一个a.py,在里面import几个刚装的库
再执行:
docker run -v /Users/zjl/python3i/py3image:/py3image -w /py3image python3env python a.py没有错误就说明成功了
导出镜像:
命令:
docker save -o /Users/zjl/Desktop/aaa/python3env.tar python3env-o参数,输出文件
需要导出路径喝文件名
需要导出的镜像名
导入镜像:
命令:
docker import /Users/zjl/Desktop/aaa/python3env.tar python3env:1.1import导入,镜像文件路径和名称,创建镜像的名称和版本
容器和镜像的理解:
镜像是只读文件,感觉像是一个系统安装iOS文件
容器是用来运行镜像并对镜像进行读写的,像是ios安装后的系统,自己本身也能再打包成一个ios文件,容器关闭后不保存修改的数据,再次打开恢复到镜像最初的数据
docker容器内python执行flask程序:
修改flask的host=‘0.0.0.0’
命令:
docker run -p 5001:5000 -v /Users/zjl/Desktop/aaa/spider:/py3image -w /py3image python3env python runflask.py-p 5001:5000,容器5000端口映射主机5001端口,冒号前是主机端口,冒号后是容器端口
flask程序启动了容器的5000端口,但是映射到了主机的5001端口,访问的IP为docker服务的IP
用docker容器内的python环境执行python程序时将里面连接数据库或者其它啥需要设置IP的都不要用127.0.0.1
windows下启动flask:
不要忘记host='0.0.0.0'
docker run -p 5001:5000 -v D:\PycharmProjects\spider:/py3image -w /py3image python3env python3 runflask.py
windows10下我是从下官网docker再下载ubuntu镜像开始,并不是倒入mac下的镜像,但是奇怪为啥ip还是127.0.0.1,和mac上不一样
相关文章推荐
- Python GUI打包程序pyinstaller在Windows环境下的搭建
- Idea开发环境中搭建Maven并且使用Maven打包部署程序
- 使用Docker搭建Django,Nginx,R,Python部署环境
- Centos下Docker使用镜像和DockerFile方式搭建JAVA Web 开发环境
- Idea开发环境中搭建Maven并且使用Maven打包部署程序
- 在python3.6环境下使用cxfreeze打包程序
- 使用Docker搭建Django,Nginx,R,Python部署环境
- 使用influxdb+cadvisor+grafana的docker镜像搭建一个实时监控系统的环境
- Docker: 使用jupyter notebook基础镜像搭建自己的 pytorch 开发环境
- 使用docker镜像搭建svn+Apache环境
- 使用virtualenv搭建Python下的Flask开发环境,ubu测试有效
- Windows平台搭建基于PyQt5.8.2开发Python GUI程序的环境(含打包过程)
- 使用Docker搭建Django,Nginx,R,Python部署环境的方法
- 使用Docker搭建Struts2-048漏洞环境及Python PoC验证
- 使用Docker搭建Anaconda Python3.6的练习环境
- docker下载cuda8.0_cudnn5.0镜像,并启动容器搭建anaconda环境
- Idea开发环境中搭建Maven并且使用Maven打包部署程序
- Idea开发环境中搭建Maven并且使用Maven打包部署程序
- 可启动程序编写环境的搭建和使用
- 使用Docker镜像搭建consul和swarm集群基础环境及overlay网络