You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将基于Docker Compose的Django网站部署到本地家庭网络?

Django站点本地网络部署配置指南

一、现有配置

1. docker-compose.yml

# Mentioning which format of dockerfile
version: "3.9"
# services or nicknamed the container
services:
  # web service for the web
  web:
    # you should use the --build flag for every node package added
    build: .
    # Add additional commands for webpack to 'watch for changes and bundle it to production'
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - type: bind
        source: .
        target: /code
    ports:
      - "8000:8000"
    depends_on:
      - db
    environment:
      - "DJANGO_SECRET_KEY=django-insecure-m#x2vcrd_2un!9b4la%^)ou&hcib&nc9fvqn0s23z%i1e5))6&"
      - "DJANGO_DEBUG=True"
    expose:
      - 8000
  db:
    image: postgres:13
    #
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    # unsure of what this environment means.
    environment:
      - "POSTGRES_HOST_AUTH_METHOD=trust"
      # - "POSTGRES_USER=postgres"
# Volumes set up
volumes:
  postgres_data:

2. Django settings.py 相关配置

ALLOWED_HOSTS = ['0.0.0.0', 'localhost', '127.0.0.1']
#127.0.0.1 is my localhost address.

二、本地网络部署调整步骤

已知主机IP为192.168.0.214,按以下步骤修改即可实现本地局域网访问:

  • 修改Django的ALLOWED_HOSTS:将主机IP添加到列表中,修改后如下:
    ALLOWED_HOSTS = ['0.0.0.0', 'localhost', '127.0.0.1', '192.168.0.214']
    
    这一步是让Django允许来自该主机IP的请求访问站点。
  • 重启Docker服务:执行命令docker-compose up --build重新构建并启动服务,确保配置生效。
  • 测试访问:在本地局域网内的其他设备上,打开浏览器访问http://192.168.0.214:8000即可访问站点。

三、路由器设置说明

如果仅需要本地局域网内访问,不需要在路由器上做任何设置。只有当你需要让外网(互联网)设备访问该站点时,才需要在路由器上配置端口转发,将路由器的8000端口映射到主机192.168.0.214的8000端口。

四、网络知识学习建议

要理解这类部署问题,可重点学习以下知识点:

  • 局域网IP地址的分配规则与设备识别逻辑
  • Docker端口映射的原理(主机端口与容器端口的关联机制)
  • Django中ALLOWED_HOSTS的作用及安全配置逻辑
  • TCP/IP端口的基本概念与常见应用场景

内容的提问来源于stack exchange,提问作者Savakar Rohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:35:41