300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > docker打包 python镜像

docker打包 python镜像

时间:2019-04-22 17:42:41

相关推荐

docker打包 python镜像

1、安装python3这里有一个bug,由于centos系统自带python2,而且python的软连接是默认指向python2的,所以,当安装python3之后,就需要修改软连接,将python指向python3。但是centos 的包管理器yum又是依赖python2的,所以修改了python的软连接之后,yum包管理器就不能用了。这不是bug吗?解决办法也是有的。先安装python3,装完以后,切换到 usr /bin,先删除原来的软连接python,再ln -s /usr/local/python3/bin/python3.6 /usr/bin/pythonln -s /usr/local/python3/bin/pip3 /usr/bin/pip建立新的软连接,取代旧的。如果以前有pip的,也删掉,建立新的。然后就是解决yum包管理器不能用的问题了。yum 安装报错 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:因为yum包使用python2*等开发,修该为环境修改python3之后有问题,解决:修改文件/usr/bin/yum、/usr/libexec/urlgrabber-ext-down头中相应python为#!/usr/bin/python2.7也就是说大部分的应用直接使用python3,那些适应不过来的,就还用原来的python2。然后就是练习用docker打包python程序做成镜像了。其实,这里面也有bug。在安装完python3之后,我更新了一次pip。pip变成了最新的,然后在我打包docker镜像的时候,它总是提醒我pip不是最新的,所以我就纳闷了。没办法,在Dockerfile里面也加了一层pip更新。还有,之前我是没有将python软连接到python3的,所以在使用python3和pip3的时候,使用的一直都是python3和pip3。然后,报错,不得已,python软连接直接到python3,pip也是这样的,然后就碰到了上面的yum包管理器不能用的情况。所以linux配环境有时候是很bug的。使用下面的命令,可以直接将本机的python环境查询出来,放到一个文本文件中,但是呢?如果你在Dockerfile文件中对这个文本文件的使用不当,有可能会导致docker去下载依赖的时候失败。docker打包镜像的过程其实就是一个去docker仓库下载依赖的过程,我们在编写python程序的时候,主要依赖的是python3,然后我们在编写Dockerfile文件的时候,就会指定python3,然后其它的依赖会下载,补充到python3上。如果是nodejs的程序,就是在Dockerfile文件中使用npm包管理器去下载依赖,如果是python程序,就是使用pip包管理器去下载依赖。如果是使用java写的springboot程序,那么有可能就是maven包管理器了。接下来先看pip管理器管理python。pip freeze > requirements.txt下面的图片是文件结构,在dir中是python程序,在Dockerfile中是打包的配置内容,# 基于的基础镜像FROM python:3.6.5# 设置code文件夹是工作目录#COPY dir .#COPY dir TCPserver.pyWORKDIR ./dirADD . .# 安装支持#必须要更新pip,有毛病,有bugRUN pip install --upgrade pipRUN pip install -r requirements.txt#RUN pip install numpy#CMD ["python", "./dir/TCPserver.py"]CMD ["python", "./dir/hello.py"]docker build -t dir .docker run dir

在这里插入图片描述

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。