我的目标是在docker上运行时在窗口的Eclipse中调试django应用程序(不确定它是否可行)。我在这里的测试是通过以下方式查看代码是否在nt(Windows)上:
404
对于此测试,我不想看到“ nt”(Windows),而是要看到Docker容器操作系统(ubuntu)。
让我感到困惑的是,docker的容器如何将我拥有的代码关联到容器?换句话说,如果我更改了eclipse上的代码,那么容器“ web”如何知道呢?我意识到 volume 是我应该定义路径的地方,但是我不太了解如何正确地进行操作。
我所做的就是这个(我是docker新手):
在我的djangoPrj所在的eclipse目录下,我有docker-compose文件,如下所示:
import os
print ("your OS is: "+os.name)
我的Dockerfile.debug是(不确定最后一行是否必要):
version: '2'
volumes:
postgis-data:
services:
web:
build:
context: .
dockerfile: Dockerfile.debug
ports:
- "8000:8000"
volumes:
- .:/djangoPrj
links:
- db
db:
image: kartoza/postgis:10.0-2.4
volumes:
- 'postgis-data:/var/lib/postgresql'
environment:
- POSTGRES_DB=tankers_db
- POSTGRES_USER=userABC
- POSTGRES_PASS=passwordABC
- ALLOW_IP_RANGE=0.0.0.0/0
ports:
- 5432:5432
restart: unless-stopped
在eclipse上,我用runserver 10.0.75.1:8000配置了运行参数