製作django專案的docker映象

2021-10-08 03:04:25 字數 2468 閱讀 2711

基礎映象:映象中執行的專案或者啟動的一些服務,都要在乙個基礎映象之上才能執行這些服務,比如乙個django專案或者mysql資料庫等,都要在linux作業系統之上來執行,所以打包我們自己的專案時,必須要有個基礎映象來當作我們專案執行的基礎環境。

dockerfile

from centos:7

#製作者資訊

maintainer *********[email protected]

#設定環境變數

env code_dir=/home/project

env docker_scripts=$code_dir/baseimage/scripts

#將scripts下的檔案複製到映象中的docker_scripts目錄

copy ./scripts/* $docker_scripts/

#執行映象中的provision.sh指令碼

run chmod a+x $docker_scripts/*

run $docker_scripts/provision.sh

provision.sh

#!/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.6

wget

tar -xf python-3.6.7.tar.xz

cd python-3.6.7

./configure

make && make install

rm -rf python-3.6.7*

#pip3

wget --no-check-certificate

tar -zvxf 9.0.1.tar.gz

cd pip-9.0.1

python3 setup.py install

rm -rf pip-9.0.1*

pip3 install --upgrade setuptools

build基礎映象

> docker build -t base_image:v1.2 .  # 後面的點一定要加
dockerfile

#基礎映象

from base_image:v1.2

#語言編碼設定

run localedef -c -f utf-8 -i zh_cn zh_cn.utf8

env lc_all zh_cn.utf-8

#將專案目錄檔案複製到映象中,code_dir是在基礎映象中定義的

copy ./auto $code_dir/auto/

run pip install -u pip

run pip config set global.index-url

run pip config set install.trusted-host mirrors.aliyun.com

run pip3 install -r $code_dir/auto/requirements.txt

#暴露埠

expose 8080

#啟動專案

cmd ["python3", "/home/project/auto/manage.py", "runserver", "0.0.0.0:8080"]

build專案映象

切換到對應dockerfile的目錄下,執行如下指令

> docke build -t auto:v1.2 .

django專案的建立

2.3 syl urls.py新增主路由 第二步 urlpatterns path user include user.urls 3.重寫django預設認證使用者模型 3.1 user models.py建立模型 從寫django user表 from django.db import model...

Django專案的建立

一.django介紹 python的web框架有django tornado flask 等多種,django相較與其他web框架其優勢為 大而全,框架本身整合了orm 模型繫結,模板引擎,快取 session等諸多功能.django是乙個開放源 的網路應用框架,由python寫成,採用了mtv的框...

Django之專案的登入

今天這個專案的登入是延續之前的專案做的補充,首先登入的話要和資料庫關聯,並且資料庫中不能有相同的使用者名稱,接下來我們來介紹下專案的流程和操作。1.我們延續前面的專案,也會講一些前面講過的 這裡是djangoproject容器的urls.py檔案,我用箭頭指定的是我要用的 和命名空間的名字,專案根據...