本文以django專案為例,演示docker映象的製作過程。
一.目錄結構:
├─base_img
│ ├─dockerfile //django專案映象的dockerfile
│ └─opapi //django專案
│ ├─.vscode
│ ├─logs
│ ├─middleware
│ ├─python_agency
│ ├─manage.py
│ ├─requirements.txt
│ ├─db.sqlite3
│ └─readme.md
│
└─python
├─dockerfile //python環境映象的dockerfile
└─python
└─provision.sh //python安裝指令碼
二、python映象製作
1、python映象製作dockerfile:
from centos:7
#製作者資訊
maintainer [email protected]
#設定環境變數
env code_dir=/opt
env docker_scripts=$code_dir/python
#將scripts下的檔案複製到映象中的docker_scripts目錄
copy ./python/* $docker_scripts/
#執行映象中的provision.sh指令碼
run chmod a+x $docker_scripts/*
run $docker_scripts/provision.sh
2、provision.s**件:
#!/bin/bash
set -e
#python的一些依賴
yum install -y \
kde-l10n-chinese\
glibc-common\
git\
wget\
mysql-devel\
gcc\
swig\
pulseaudio\
pulseaudio-libs\
pulseaudio-libs-devel\
zlib-devel\
bzip2-devel\
openssl-devel\
ncurses-devel\
sqlite-devel\
readline-devel\
tk-devel\
gdbm-devel\
db4-devel\
libpcap-devel\
xz-devel\
libffi-devel\
ncurese-devel\
automake\
autoconf\
libtool\
make\
alsa-lib-devel\
poppler-utils\
#python3.7
wget
tar -zxvf python-3.7.4.tgz
cd python-3.7.4
./configure
make && make install
rm -rf python-3.7.4
#pip3
pip3 install --upgrade pip
3、構建python映象
切換到python資料夾下,執行如下命令就可以生成我們自己的基礎映象了,名字叫python版本3.7:
docker build -t python:3.7 .
二、專案映象製作
1、專案映象的dockerfile:
#基於的基礎映象
from python:3.7
#語言編碼設定
run localedef -c -f utf-8 -i zh_cn zh_cn.utf8
env lc_all zh_cn.utf-8
#將專案目錄檔案複製到映象中,code_dir是在基礎映象中定義的
copy ./opapi $code_dir/opapi/
#安裝專案依賴包
run pip3 install -r $code_dir/opapi/requirements.txt
#暴露埠
expose 8080
#啟動專案
cmd ["python", "$code_dir/opapi/manage.py", "runserver", "0.0.0.0:8080"]
2、build專案映象
切換到dockerfile所在目錄下,執行如下命令就可以生成專案映象了,名字叫opapi版本1.0:
docker build -t opapi:1.0 .
三、啟動映象
1、 檢視映象:
2、啟動映象
docker run -it -p 0.0.0.0:8080:8080 27bdd5bd718f
注:0.0.0.0是宿主機的ip,意思是將映象的8080埠對映到宿主機的8080埠上
3、此時就可以通過ip:8080訪問django專案了。
python檔案打包成exe
將自己寫的python檔案壓縮成exe有兩種方法 1 使用pyinstaller step1 安裝pyinstaller,在cmd視窗使用pip install pyinstaller安裝 step2 cd 到你的檔案目錄cd d py python testcases slice step3 執行...
python 打包成exe程式
1.需要安裝 py2exe 2.示例 exetest.py 建立乙個gui介面,只用乙個標籤和按鈕,無功能 from tkinter import win tk label label win,text hello btn button win,text click label.pack btn.p...
python打包成EXE檔案
在我們完成乙個python專案或乙個程式時,由於不可能讓使用者去安裝一些環境,所以希望將python的py檔案打包成在windows系統下直接可以執行的exe程式。在這裡我用的是pyinstaller來打包檔案 首先安裝pyinstaller pip install pyinstaller 輸入 格...