說明
適合無聯(lián)網(wǎng)的機(jī)器及多Python的機(jī)器進(jìn)行部署。
制作docker版Python環(huán)境
有網(wǎng)絡(luò)及有docker的,拉取指定版本的python如:
docker pull python:3.7
安裝好后進(jìn)入容器:
docker run -it <name> /bin/bash
使用pip安裝各種依賴:
pip install <name>
pip install <name>
pip install <name>
千萬不要退出,另外啟動一個shell,查下目前運(yùn)行的容器:
docker ps -a
制作成新的鏡像:
docker commit <id> mynewpythonimage
打包及導(dǎo)入
導(dǎo)出新鏡像:
docker save -o python.tar <repositoryName>
找到?jīng)]聯(lián)網(wǎng)有docker的機(jī)器,導(dǎo)入新的鏡像
docker load -i python.tar
編寫Shell
在新機(jī)器上編寫shell,python.sh
#!/bin/bash
para=""
for arg in "$@"
do
para="$para $arg"
done
docker run --net=host -v <宿主機(jī)路徑>:/usr/src/myapp -w <宿主機(jī)路徑>:/usr/src/myapp <python鏡像名> python $para
參數(shù)解釋如下:
-v:允許主機(jī)和容器共享文件和目錄,并在容器內(nèi)訪問主機(jī)上的數(shù)據(jù)。
-w:定容器啟動后的默認(rèn)工作目錄,類似于在命令行中使用 cd 命令更改當(dāng)前目錄。
--net=host:將容器與主機(jī)共享網(wǎng)絡(luò)命名空間。這意味著容器將不會獲得獨(dú)立的網(wǎng)絡(luò)命名空間,而是直接使用主機(jī)的網(wǎng)絡(luò)接口。
下面這步看需求再做,目的是修改現(xiàn)在用戶的環(huán)境變量。
vim ~/.bashrc
隨后新增文章來源:http://www.zghlxwxcb.cn/news/detail-831564.html
alias python 'python.sh文件的目錄'
最后:文章來源地址http://www.zghlxwxcb.cn/news/detail-831564.html
source ~/.bashrc
到了這里,關(guān)于Docker筆記-搭建Python環(huán)境、安裝依賴、打包鏡像、導(dǎo)入鏡像、編寫bash腳本靈活調(diào)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!