加入收藏 | 设为首页 | 会员中心 | 我要投稿 惠州站长网 (https://www.0752zz.com.cn/)- 办公协同、云通信、物联设备、操作系统、高性能计算!
当前位置: 首页 > 建站 > 正文

如何Docker化Python Django应用程序

发布时间:2018-09-17 12:53:19 所属栏目:建站 来源:Muhammad Arul
导读:副标题#e# 9月15日技术沙龙 | 与东华软件、AWS、京东金融、饿了么四位大咖探讨精准运维! Docker 是一个开源项目,为开发人员和系统管理员提供了一个开放平台,可以将应用程序构建、打包为一个轻量级容器,并在任何地方运行。Docker 会在软件容器中自动部署

现在粘贴下面的 Dockerfile 脚本:

  1. FROM python:3.5-alpine
  2. ENV PYTHONUNBUFFERED 1 
  3.  
  4. RUN apk update &&
  5.    apk add --virtual build-deps gcc python-dev musl-dev &&
  6.    apk add postgresql-dev bash
  7.  
  8. RUN mkdir /config 
  9. ADD /config/requirements.txt /config/ 
  10. RUN pip install -r /config/requirements.txt
  11. RUN mkdir /src
  12. WORKDIR /src

保存并退出。

注意:

我们想要为我们的 Django 项目构建基于 Alpine Linux 的 Docker 镜像,Alpine 是最小的 Linux 版本。我们的 Django 项目将运行在带有 Python 3.5 的 Alpine Linux 上,并添加 postgresql-dev 包以支持 PostgreSQL 数据库。然后,我们将使用 python pip 命令安装在 requirements.txt 上列出的所有 Python 包,并为我们的项目创建新目录 /src

创建 Docker-compose 脚本

使用 vim 命令在 guide01 目录下创建 docker-compose.yml 文件。

  1. vim docker-compose.yml

粘贴以下配置内容:

  1. version: '3'
  2. services:
  3.   db:
  4.      image: postgres:10.3-alpine
  5.     container_name: postgres01
  6.   nginx:
  7.     image: nginx:1.13-alpine
  8.     container_name: nginx01
  9.     ports:
  10.       - "8000:8000"
  11.     volumes:
  12.       - ./project:/src
  13.       - ./config/nginx:/etc/nginx/conf.d
  14.     depends_on:
  15.       - web
  16.   web:
  17.     build: .
  18.     container_name: django01
  19.     command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py collectstatic --noinput && gunicorn hello_django.wsgi -b 0.0.0.0:8000"
  20.     depends_on:
  21.       - db
  22.     volumes:
  23.       - ./project:/src
  24.     expose:
  25.       - "8000"
  26.     restart: always

保存并退出。

注意:

(编辑:惠州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读