Docker Django Nginx 一起使用的时候遇到的一些问题

引子

给自己记录下,自己遇到的问题以及处理问题的办法

问题一:

问题情况如下:

  • 阿里云机器服务
  • 机器本身未开启防火墙
  • 可在机器上使用localhost访问web页面,但不能通过公网IP访问web页面

最后查到问题是

阿里云的后台有设置公网端口的 进出规则
只需要在阿里云后台设置下公网端口 就可以了

菜单组:

云服务器 -> 网络和安全 -> 安全组

如果没有就添加一个安全组

安全组具体端口权限

内网:进/出,公网:进/出

问题二: Docker Django Nginx 无法正常运行

检查Nginx 是否能单独正常工作

1
看对应端口 nginx 是否启动

检查Django是否能单独正常工作

进入 dg01 Docker机下

1
docker exec -it dg01 /bin/sh
1
python manage.py runserver 0.0.0.0:8000

看有无报错

如果是django 需要新的插件,可能需要重新编译一个Docker Image

停止当前docker机器

1
2
docker-compose stop
docker-compose rm

查看images,删除旧的image

1
2
docker images
docker rmi xx

重新编译

1
docker-compose up -d

检查Django和Nginx 交互配置是否出错