version: '2'
services:
db:image: mysql:5.7
environment:
- mysql_root_password=mysql # mysql密碼
expose:
- "3306"
volumes:
- /data/database/api_ts:/var/lib/mysql # 掛載的檔案在伺服器上必須存在
hostname:
dbports:
- "3308:3306"
redis:
image: redis
hostname: redis
ports:
- "6380:6379"
web:
build: . # 路徑要與dockerfile檔案對應上
restart: always
volumes:
- .:/home/docker/code/narwel
- /var/log/:/var/log/
ports:
- "81:80"
links:
- db
- redis
depends_on:
- db
from python:3.6# the upstream component nginx needs to connect torun apt-get update && \
apt-get upgrade -y && \
apt-get install -y \
nginx \
supervisor &&\
rm -rf /var/lib/apt/lists/*
run echo "daemon off;" >> /etc/nginx/nginx.conf
copy ./requirements/base.txt /home/docker/code/
copy ./fastdfs /home/docker/code/fastdfs
workdir /home/docker/code/
run pip install --default-timeout=500 -r base.txt --no-cache-dir -i && \
pip install uwsgi --default-timeout=500
upstream django
# configuration of the server
server
}# 注意路徑
command = /usr/local/bin/uwsgi --ini /home/docker/code/narwel/deploy/testing/uwsgi.ini
command = /usr/sbin/nginx
[uwsgi]
# this config will be loaded if nothing specific is specified
# load base config from below
ini = :base # 指定使用哪種配置檔案
master = true
processes = %k
py-autoreload = 1
# background the process & log
logto = /var/log/uwsgi/ms.log # 檔案一定要存在
docker-compose up -d
docker ps
docker logs 映象id
docker exec -it 映象id bash
server
}
server
}
docker中部署django專案
docker pull ubuntu 15.10docker run itd name vth django v etc apt mnt vths v1.1 bin bash v的意思是把本地的目錄掛載到docker上。冒號之前是宿主機的目錄,冒號之後是docker的目錄。進入容器之後,把 mnt ...
使用docker部署Django專案步驟
第一種方式 基於python基礎映象來做 cd home mkdir myproject cd myproject docker run di name myproject p 8080 8080 v home myproject home python 3.6 mac linux window x...
在Docker容器中部署Django的時區問題
目錄 現在容器化部署已經非常成熟了,我們很多服務都會使用容器部署,更新恢復都非常方便,但是有乙個問題比較麻煩,就是時區處理,通常情況下,都採用注入 tz 環境變數來解決,但是實際這種處理方式在 django 中卻是不行的。在www.cppcns.comdjango的配置檔案 settings.py ...