使用 PyCharm 2024.2.1
系统:MacOS(苹果芯片)
此外,使用 Orbstack for Docker
并使用基于 Docker Compose 的 Python 3.12 解释器
撰写文件
app:
container_name: app
build:
context: .
dockerfile: ./docker/Dockerfilebase
restart: unless-stopped
command: "python plato/manage.py runserver 0.0.0.0:8000"
env_file:
- .env
ports:
- "8000:8000"
expose:
- 8000
depends_on:
- db
- redis
- rabbit
这是我的 django 容器,如果我运行它,它运行完美,还可以运行 pytest 和其他东西,
但是在启动容器后,当我尝试打开 python 控制台时,出现此错误
如果降级到 pycharm 2023.2,这对我有用,但不适用于此版本
Error response from daemon:
driver failed programming external connectivity on endpoint app-run-a63f7b432235 (9b6cd54f64c7e3cdbbaf044aca0b51389ec347048875031f373b624fdf2c09ca):
Bind for 0.0.0.0:8000 failed: port is already allocated
Couldn't connect to console process.
我想运行我的控制台,还要确保我的应用程序容器已启动并正在运行,如果应用程序容器未启动,则控制台可以工作,否则会抛出上述错误。
作为临时解决方案,我创建了另一个类似于
app
的服务,但不公开任何端口
console:
container_name: console
build:
context: .
dockerfile: ./docker/Dockerfilebase
restart: unless-stopped
env_file:
- .env
depends_on:
- db
- redis
- rabbit
并将我的项目解释器设置为 docker-compose -> 选择服务控制台