Python 在pycharm中共享同一远程docker

Python 在pycharm中共享同一远程docker,python,docker,pycharm,Python,Docker,Pycharm,我使用的是带有pycharm pro的docker远程解释器。 在运行/调试程序时,我希望在同一docker实例上运行另一个python。 发生的情况是,pycharm为每次运行打开不同的容器 有什么解决方法吗?我想我在一系列实验后找到了一个解决方案,你需要使用docker compose up启动服务器上的服务,然后docker compose exec在同一容器中运行客户端。因此,我的设置: # Dockerfile FROM python:latest RUN mkdir /opt/pro

我使用的是带有pycharm pro的docker远程解释器。 在运行/调试程序时,我希望在同一docker实例上运行另一个python。 发生的情况是,pycharm为每次运行打开不同的容器


有什么解决方法吗?

我想我在一系列实验后找到了一个解决方案,你需要使用
docker compose up
启动服务器上的服务,然后
docker compose exec
在同一容器中运行客户端。因此,我的设置:

# Dockerfile
FROM python:latest
RUN mkdir /opt/project
WORKDIR /opt/project
COPY server.py /opt/project
COPY client.py /opt/project
  • 在PyCharm中设置基于docker compose的解释器
  • 运行
    server.py
    ,PyCharm将启动
    python
    服务,并在其中运行服务器
  • client.py
    创建运行配置,并将
    exec
    指定为命令
  • 运行此新的客户端运行配置-PyCharm将在与正在运行的服务器相同的容器中执行
    client.py

  • 您需要使用PyCharm在同一容器中运行另一个Python进程还是手动运行?我想到的唯一一件事是手动启动一个容器,其中运行一个SSH服务,并在PyCharm中设置remote-over-SSH解释器。我也想到了这一点,但是所有docker远程解释器选项都是多余的。我有两个进程(客户端和本地服务器)需要在同一台机器(docker)上运行。当我在本机linux上工作时,我从pycharm启动服务器(在调试中),然后从pycharm运行客户端(在调试中),现在我可以调试这两个。我想在docker上做同样的事情。客户端和服务器可以通过网络交谈吗?您可以利用docker compose在单独的容器中运行进程。否。他们使用了命名的pipesThanks,很抱歉我反应太晚了。我尝试了调试,但调试无效:运行“客户端”时出错:Docker Compose
    exec
    命令无法使用调试
    # docker-compose.yml
    version: '3'
    services:
      python:
        build: .
        volumes:
          - .:/opt/project