Docker 自动重新加载在远程服务器上不工作
Docker auto reload not working on remote server
我设置了一个在 Docker 中运行的 Django 项目。我想在远程服务器上拥有我的开发环境,并在我本地更改文件时自动重新加载它。我已经在 Pycharm 中设置了远程部署并且它工作正常。所有本地更改都反映在我的远程服务器上,我还可以看到文件在 Docker 容器内发生更改,因为我在 docker-compose 文件中设置了一个卷。但是自动重新加载不起作用,我不知道为什么。
我的docker-撰写文件:
version: '3.7'
services:
web:
container_name: my_project_ws
restart: always
build:
context: .
dockerfile: Dockerfile
command: gunicorn my_project.wsgi:application --bind 0.0.0.0:8000
volumes:
- static_volume:/my_project/staticfiles
- media_volume:/my_project/mediafiles
- .:/my_project
expose:
- 8000
env_file:
- .env
depends_on:
- db
db:
container_name: my_project_db
restart: always
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- .env
nginx:
restart: always
build: ./nginx
volumes:
- static_volume:/my_project/staticfiles
- media_volume:/my_project/mediafiles
ports:
- 80:80
depends_on:
- web
volumes:
postgres_data:
static_volume:
media_volume:
运行 Gunicorn --reload
解决了问题。
我设置了一个在 Docker 中运行的 Django 项目。我想在远程服务器上拥有我的开发环境,并在我本地更改文件时自动重新加载它。我已经在 Pycharm 中设置了远程部署并且它工作正常。所有本地更改都反映在我的远程服务器上,我还可以看到文件在 Docker 容器内发生更改,因为我在 docker-compose 文件中设置了一个卷。但是自动重新加载不起作用,我不知道为什么。
我的docker-撰写文件:
version: '3.7'
services:
web:
container_name: my_project_ws
restart: always
build:
context: .
dockerfile: Dockerfile
command: gunicorn my_project.wsgi:application --bind 0.0.0.0:8000
volumes:
- static_volume:/my_project/staticfiles
- media_volume:/my_project/mediafiles
- .:/my_project
expose:
- 8000
env_file:
- .env
depends_on:
- db
db:
container_name: my_project_db
restart: always
image: postgres:12.0-alpine
volumes:
- postgres_data:/var/lib/postgresql/data/
env_file:
- .env
nginx:
restart: always
build: ./nginx
volumes:
- static_volume:/my_project/staticfiles
- media_volume:/my_project/mediafiles
ports:
- 80:80
depends_on:
- web
volumes:
postgres_data:
static_volume:
media_volume:
运行 Gunicorn --reload
解决了问题。