django在docker环境中断点调试
django,docker,环境,中断点,调试
2025-03-13 21:27:17 时间
django在docker环境中断点调试
作者:matrix 被围观: 371 次 发布时间:2022-01-07 分类:Python | 无评论 »
之前是本地Python环境安装Django项目直接运行和断点,现在尝试切换到vscode~
vscode插件
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers
https://marketplace.visualstudio.com/items?itemName=ms-Python.python
Dockerfile配置
用于创建docker镜像
项目根目录中创建Dockerfile文件
# syntax=docker/dockerfile:1
FROM python:3.10
#设置容器中环境变量
ENV RUN_ENV='develop'
WORKDIR /data
COPY requirements.txt .
RUN pip install -i https://pypi.douban.com/simple/ -r requirements.txt
# 方式2.安装依赖
# RUN pip install -i https://pypi.douban.com/simple/ django pytz pymysql mysqlclient requests numpy python-dateutil matplotlib pandas_datareader scipy sklearn
根目录中需要有requirements.txt
docker-compose配置
用于开启容器,挂载开发目录以及端口
项目根目录中创建docker-compose.debug.yml文件
version: '3.4'
services:
pythonsamplevscodedjangotutorial:
image: django-dev:1.1
build:
context: .
dockerfile: ./Dockerfile
volumes:
- ./:/data
# command: ["sh", "-c", "pip install -i https://pypi.douban.com/simple/ debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 /data/manage.py runserver 0.0.0.0:8000 --nothreading --noreload"]
command: ["sh", "-c", "python /tmp/debugpy --listen 0.0.0.0:5678 /data/manage.py runserver 0.0.0.0:8000 --nothreading --noreload "]
ports:
- 8000:8000
- 5678:5678
说明:
volumes表示 映射本地路径./
-->容器路径/data
5678为断点监听端口 8000为项目访问端口
配置debug
配置vscode debug
项目根目录中编辑或创建.vscode/launch.json
{
"configurations": [
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"port": 5678,
"host": "localhost",
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/data"
}
]
}
]
}
启动容器
$ docker-compose -f ./docker-compose.debug.yml up
添加断点后,浏览器访问127.0.0.1:8000即可调试
参考:
https://code.visualstudio.com/docs/containers/docker-compose#_python
https://docs.docker.com/compose/compose-file/compose-file-v3/#build
https://www.youtube.com/watch?v=x7lZAmMVo2M
相关文章
- Django的聚合查询与原生操作
- Python进阶31-Django 分页器
- 在pycharm中安装pip_pycharm安装django
- [博客搭建] 通过用户邮箱认证来介绍 django-allauth 的使用思路
- vue django mysql_Python MySQL
- Django模板引擎中变量作为属性值调用
- pycharm中安装django_pycharm环境配置教程
- Django学习笔记一初识Django
- Django的ORM操作-删除数据
- Python进阶28-Django 模板层(Jinja2)
- 一个提供公告和打赏功能的 django 应用插件 django-tctip
- Python进阶27-Django 路由层
- Django的ORM简介
- 使用 Django 的 admin 定制后台,丰富自己网站的后台管理系统
- Django的ORM操作-查询数据
- Python进阶37-smtp及Django发邮件
- pycharm django环境搭建_创建web项目
- Django如何处理URL请求
- Django的请求与响应
- Django 使用 django-redis 作为缓存的正确用法,别忽略缓存的使用原则