首先我们要明白,docker的一个抽象概念,怎么去跑一个脚本?从头开始的顺序是什么?
举一个例子:我想把我本地的一个python文件,在docker里面跑,那么需要怎么操作?
前提是已经安装了docker,有一个python脚本。
思路: 想在docker里运行一个python脚本的话,docker就必须要有运行python脚本的环境,也就是有python环境。
所以第一步就是要把python环境安装好,也就是要给docker拉取所需要的镜像(python镜像)
那如何知道拉取的是python的那个镜像?我们写脚本用的是python2还是python3,就要拉取对应的镜像,首先就要先查看docker中现在有哪些镜像?
有一个命令是查看已经拉取镜像:
docker images
我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/
有一个命令是查看和python有关的镜像
docker search python
第二步:如果我们的python版本是3.7,而且docker上没有这个镜像,我们需要拉取镜像。
有两个命令:
①:docker pull python:3.7
②直接docker run python:3.7 如果docker里面没有这个镜像,它会去docker hub中直接自动下载 ,但是相当于已经有了一个容器,我已经有了3.7。再下载一个3.6
然后查询一下当前的所有容器,刚才docker run 的镜像是python3.6的就在。
docker ps -a
那现在有了python3.7镜像,在本地新建一个python文件.
#!/usr/bin/env python
for i in range(10): print(i)
然后运行命令:
docker run -v /file:/usr/src/file -w /usr/src/file python:3.5 python pyth.py
注意事项: -v 将主机的py文件目录挂载到容器中的/usr/src/file
-w 指定容器的/usr/src/file目录为工作目录 python pyth.py 用容器中的python命令来执行工作目录的pyth.py