利用可能なオンラインコンテンツのジャンゴとdockerfileのgunicorn

まず、ベース画像

【xxx.com.cn/3rd_part/python.3.6.8:alpine3.9-mysqlclient1.4.2】

FROMのpython:3.6.8-alpine3.7
 MAINTAINER 拓也・ノグチ<[email protected]> 

RUNのAPK \ --update --no-キャッシュmariadb-クライアントLIBSを追加
    && APK --no-キャッシュを追加--virtual .build -deps \ 
        mariadb-devの\ 
        GCC \ 
        MUSL-devの\ 
    &&ピップインストールはmysqlclient == 1.4.2 \ 
    && APKデル.build-DEPS

第二に、ミドルウェア・ミラー

【xxx.com.cn/xxx-4k:base-0.4】

FROM xxx.com.cn/3rd_part/python.3.6.8:alpine3.9-mysqlclient1.4.2 メンテナXXX-4K COPYは/tmp/requests.txt requests.txt
 COPYのkubectl /ドッキングウィンドウ/ホーム/ドッキングウィンドウ/ binに/ kubectl14
 COPYの cx_Oracleを-7.2.2-cp36-cp36m-linux_x86_64.whl /tmp/cx_Oracle-7.2.2 -cp36-cp36m-linux_x86_64.whl
 COPY枕-5.4.1-cp36-cp36m-linux_x86_64.whl /tmp/Pillow-5.4.1 -cp36-cp36m-linux_x86_64.whlの
 COPYの pycryptodome-3.9.0-cp36-cp36m-linux_x86_64.whl /tmp/pycryptodome-3.9.0 -cp36-cp36m-linux_x86_64.whl RUN   インストールPIP -r /tmp/requests.txt \ 
    &&ピップインストールを/ tmp / cx_Oracle- 7.2.2 -cp36-cp36m-linux_x86_64.whl \







    &&ピップインストールを/ tmp /枕5.4.1 -cp36-cp36m-linux_x86_64.whl \ 
    &&ピップインストールを/ tmp / pycryptodome- 3.9.0 -cp36-cp36m-linux_x86_64.whl \ 
    &&のchmod 755 /ドッキングウィンドウ/ホーム/ドッキングウィンドウ/ binに/ kubectl14 \ 
    && LN -s /ドッキングウィンドウ/ホーム/ドッキングウィンドウ/ binに/ kubectl14は/ usr / local / binに/ kubectl \ 
    &&のrm -rf〜/ .cache / * \ 
    &&のrm -rf / tmpに/ * \ 
    &&エコー'終了!!!'

 

requirementes.txt

AMQP == 2.2.2 
バベル== 2.1.1 
ビリヤード== 3.5.0.3 
セロリ== 4.1.0 
認証取得== 2017年11月5日
chardetの== 3.0.4 
Djangoの== 2.0 
ジャンゴ-CORS-ヘッダ== 2.4.0 
ジャンゴ- Redisの== 4.8.0 
ジャンゴ- TinyMCEの== 2.7.0 
ジャンゴ・ウィジェットひねり== 1.4.3 
djangorestframeworkの== 3.7.3 
花== 0.9.2 
gunicorn == 19.6.0 
IDNA == 2.6 
IPY = = 0.83 
カフカ、パイソン== 1.4.3 
昆布の== 4.1.0 
マルチキー辞書の== 2.0.3 
PBRの== 3.1.1 
PyMySQLの== 0.8.0 
パイソン・ジェンキンス== 1.4.0 
pytz == 2017.3 
PyYAMLと== 3.13 
Redisの== 2.10.6 
要求== 2.18.4 
setuptoolsの-gitの== 1.2 
6 == 1.11.0
sqlparse == 0.3.0 
== 5.1竜巻
urllib3 == 1.22 
つる== 1.1.4 
xlrd == 1.1.0 
xlwt == 1.3.0

 

第三に、ビジネスミラー

【xxx.com.cn/itil/itil-4k-gunicorn:K8S-20191018184523MP】

FROM xxx.com.cn/xxx-4k:base-0.4 COPY /4k/temp/4k.zip 4k.zip
 COPY bootstart.sh /xxx/bootstart.sh CMD SH /xxx/bootstart.sh



[bootstart.sh]

#!/ binに/ bashの

zip_dir = " / XXX / TEMP " 

zip_file = ` lsの $ zip_dir / * .zip` 
ます。mkdir $ zip_dir / deploy_temp 
解凍$ zip_file -d $ zip_dir / deploy_temp 

ます。mkdir -p /アプリケーション/ XXX 

CP -ar $ zip_dir / deploy_temp / XXX / /アプリケーション/ XXX / 

CD /アプリケーション/ XXX / 
shのstart_gunicorn_k8s.sh
[start_gunicorn_k8s.sh]
gunicorn -c gunicorn_k8s.ini 4K.wsgi

[Gunicorn_k8s.ini]

バインド= "0.0.0.0:9123" 
労働者 = 4 
エラーログ = './gunicorn.error.log' 
ACCESSLOG = './gunicorn.access.log' 
タイムアウト = 3000 
ログレベル = 'デバッグ' 
proc_nameに = 'gunicorn_proc' 
access_log_format = ' %(T)S%(P)S%(H)S "%(R)S" %(S)S%(L)S%(B)S%(F)S」 "%(a)のS" 
worker_connections = 1000 
max_requests = 2000 
graceful_timeout = 300 
ログレベル= 'デバッグ' 
デーモン= ''偽
[WSGI]
「」」
4KプロジェクトのWSGIの設定。

これは、 `` application``という名前のモジュールレベルの変数として呼び出し可能なWSGIを公開しています。

このファイルの詳細については、を参照してください
https://docs.djangoproject.com/en/2.0/howtoを/展開/ WSGI / 
「 "" 

インポートOS 

から django.core.wsgi インポートget_wsgi_applicationの

(os.environ.setdefault " DJANGO_SETTINGS_MODULE "" 4K.settings.prd " 

アプリケーション = get_wsgi_application()

四、YAMLファイル

--- 
apiVersion:v1の
種類:サービス
メタデータ:
  ラベル:
    名前:4K-gunicorn 
  名:4K-gunicornの
  名前空間:デフォルト
仕様:
  ポート:
  -ポート:9090 
    targetPort:9123 
  セレクター:
    名前:4K-gunicorn 
--- 
apiVersion:アプリケーション/ v1の
種類:展開
メタデータ:
  名前:4K-gunicorn 
  名前空間:デフォルト
仕様:
  レプリカ:1つの
  セレクタ:
    matchLabels:
      名前:4K-gunicorn 
  テンプレート:
    メタデータ:
      ラベル:
        名前:4K-gunicornの
    スペック:
      imagePullSecrets:
      -名前:4kharbor 
      コンテナ:
      -名前:4K-gunicorn 
        画像:xxx.com.cn/itil/itil-4k-gunicorn:K8S-20191018453216MP 
        imagePullPolicy:IfNotPresentの
        ポート:
        - containerPort:9123

 

おすすめ

転載: www.cnblogs.com/aguncn/p/11700136.html