暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用docker python 的最新版本以及pip 安装模块

丁老师的技术随笔 2020-04-17
1139

今天windows 下使用说我的python版本 3.5 有点低,于是就想使用下最新的,想到在centos 7 上使用python 的docker 镜像。本文主要是 docker python 镜像的使用及pip安装click 模块。为啥是click 模块,因为需要到了。

目录

1.拉取python 镜像

2. 启动镜像,挂载目录

3. 运行helloword.py

4. pip 安装click模块


1

拉取python镜像


pull 命令拉取最新镜像

[root@master python]# docker pull python:latest
复制

查看拉取的镜像

[root@master python]# docker images|grep python
python latest efdecc2e377a 2 months ago 933MB
python 3.7-alpine 6e6836872132 2 months ago 97.8MB
You have new mail in /var/spool/mail/root
[root@master python]#
复制



2

启动镜像,挂载目录

自己的应用,或文件一定要放在宿主机上,使用-v 选项将宿主机的某个目录映射到容器的某个目录下,不然容器删除时,自己的应用及文件有可能会丢失。

/root/python 为宿主机目录,用来放python脚本

/usr/src/myapp 为python 容器内的目录

-w  选项 为-w, --workdir=""
指定容器的工作目录

--name 为容器指定一个名称 python-latest

python:latest 为使用的镜像名称

[root@master python]# docker run -itd -v /root/python:/usr/src/myapp -w /usr/src/myapp --name python-latest python:latest
540cfd2fb470ef9ff0671323c82ecafc5de64150c3172f9d9ef048d1db27788c
[root@master python]# docker ps -a|grep python
540cfd2fb470 python:latest "python3" 13 seconds ago Up 10 seconds python-latest


复制



3

运行helloword.py



编辑 vi helloword.py


[root@master python]# vi helloworld.py


复制


#!/usr/bin/python
print("hello world!")


复制

运行结果:使用镜像 python-latest,执行下  python helloworld.py

[root@master python]# docker exec -it python-latest python helloworld.py
hello world!
You have new mail in /var/spool/mail/root
[root@master python]#


复制

4

pip安装click模块

  • 可以进入容器安装


[root@master python]# docker ps -a|grep python
540cfd2fb470 python:latest "python3" 13 seconds ago Up 10 seconds python-latest
[root@master python]# docker exec -it python-latest /bin/bash
root@540cfd2fb470:/usr/src/myapp# python -v


复制

使用 pip 安装

root@540cfd2fb470:/usr/src/myapp# pip install click
Collecting click
Downloading click-7.1.1-py2.py3-none-any.whl (82 kB)
|████████████████████████████████| 82 kB 10 kB/s
Installing collected packages: click
Successfully installed click-7.1.1
root@540cfd2fb470:/usr/src/myapp# exit
exit


复制


  • 也可以不进入容器安装


[root@master python]# docker exec -it python-latest pip click
复制



5

结语

有了docker ,各个版本的python 都来一套,不用担心各个版本不兼容,屏蔽了操作系统环境的细节。


END



 战士上战场,还不会使用Docker?

 Python操作Excel合并单元格

 JS,PHP,Python,Java对JSON数据的处理

 战士上战场,还不会部署kubernetes集群?

关注二维码

获取更多精彩内容

文章转载自丁老师的技术随笔,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论