说明
适合无联网的机器及多Python的机器进行部署。
制作docker版Python环境
有网络及有docker的,拉取指定版本的python如:
docker pull python:3.7
安装好后进入容器:
docker run -it <name> /bin/bash
使用pip安装各种依赖:
pip install <name>
pip install <name>
pip install <name>
千万不要退出,另外启动一个shell,查下目前运行的容器:
docker ps -a
制作成新的镜像:
docker commit <id> mynewpythonimage
打包及导入
导出新镜像:
docker save -o python.tar <repositoryName>
找到没联网有docker的机器,导入新的镜像
docker load -i python.tar
编写Shell
在新机器上编写shell,python.sh
#!/bin/bash
para=""
for arg in "$@"
do
para="$para $arg"
done
docker run --net=host -v <宿主机路径>:/usr/src/myapp -w <宿主机路径>:/usr/src/myapp <python镜像名> python $para
参数解释如下:
-v:允许主机和容器共享文件和目录,并在容器内访问主机上的数据。
-w:定容器启动后的默认工作目录,类似于在命令行中使用 cd 命令更改当前目录。
--net=host:将容器与主机共享网络命名空间。这意味着容器将不会获得独立的网络命名空间,而是直接使用主机的网络接口。
下面这步看需求再做,目的是修改现在用户的环境变量。
vim ~/.bashrc
随后新增
alias python 'python.sh文件的目录'
最后:
source ~/.bashrc