今天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