前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Docker上运行Django和Vue

在Docker上运行Django和Vue

原创
作者头像
葫芦
发布2021-09-08 22:07:17
1.2K0
发布2021-09-08 22:07:17
举报
文章被收录于专栏:葫芦葫芦

在Docker上运行Django和Vue

Run Django and Vue on Docker

Django_docker
Django_docker

Django Dockerfile

生成django项目依赖包.

Generate Django project dependencies.

代码语言:javascript
复制
pip  freeze > requirements.txt

编写django启动脚本 run.sh

Write a Django startup script run.sh

代码语言:javascript
复制
python3 manage.py runserver 0.0.0.0:8000

编写 Django Dockerfile

Write a Dockerfile for django

代码语言:javascript
复制
FROM python:alpine3.8

ADD ./bthlt_backend /bthlt_backend/bthlt_backend
ADD ./requirements.txt /bthlt_backend/
ADD ./manage.py /bthlt_backend/
ADD ./run.sh /bthlt_backend/


WORKDIR /bthlt_backend
RUN pip install -r ./requirements.txt

# Define default command.
CMD ["/bin/sh", "run.sh"]

# Expose ports.
EXPOSE 8000

编写构建脚本 build_run.sh

Write a script for build_run.sh

代码语言:javascript
复制
#!/bin/bash
docker build -t 123.bthlt.com/bthlt_backend:$1 .
docker push 123.bthlt.com/bthlt_backend:$1
代码语言:javascript
复制
bash build_run.sh v0.0.1

Vue Dockerfile

编写nginx.conf

Write nginx.conf

代码语言:javascript
复制
server {
    listen       80;
    server_name  localhost;

    location /api/ {
     proxy_pass http://bthlt-backend:8000/;
    }

    location / {
        root /usr/src/app/;
        index  index.html index.htm;

        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript;
        gzip on;

        if_modified_since off;
        etag off;
        add_header Last-Modified "";


        if (!-e $request_filename) {
            rewrite ^/[^.]+$  /index.html break;
        }
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

编写Dockerfile

Write Dockerfile

代码语言:javascript
复制
FROM nginx:mainline-alpine-perl

ADD ./nginx.conf /etc/nginx/conf.d/default.conf
ADD ./dist/ /usr/src/app/

# Define default command.
CMD ["nginx", "-g", "daemon off;"]

# Expose ports.
EXPOSE 80

编写Vue构建脚本

Write Vue build script

代码语言:javascript
复制
#!/bin/bash
yarn build
docker build -t 123.bthlt.com/bthlt_front:$1 .
docker push 123.bthlt.com/bthlt_front:$1
代码语言:javascript
复制
bash build_run.sh v0.0.1

在Docker上运行Django和Vue

Run Django and Vue on Docker

代码语言:javascript
复制
docker run  --name bthlt-backend -d -p 8000:8000 123.bthlt.com/bthlt_backend:v0.0.1
docker run  --name bthlt-front -d -p 80:80 --link bthlt-backend:bthlt-backend 123.bthlt.com/bthlt_front:v0.0.1


葫芦的运维日志

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在Docker上运行Django和Vue
  • Run Django and Vue on Docker
    • Django Dockerfile
      • 生成django项目依赖包.
      • Generate Django project dependencies.
      • 编写django启动脚本 run.sh
      • Write a Django startup script run.sh
      • 编写 Django Dockerfile
      • Write a Dockerfile for django
      • 编写构建脚本 build_run.sh
      • Write a script for build_run.sh
    • Vue Dockerfile
      • 编写nginx.conf
      • Write nginx.conf
      • 编写Dockerfile
      • Write Dockerfile
      • 编写Vue构建脚本
      • Write Vue build script
    • 在Docker上运行Django和Vue
      • Run Django and Vue on Docker
      • 葫芦的运维日志
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档