방금이 질문에 등록했습니다. VS 코드가있는 Docker 컨테이너에서 Python 코드를 원격 디버깅 할 수 있는지 여부입니다. 여기에는 완전히 구성된 Docker Container가 있습니다. 나는 그것에 대해 약간의 도움을 받았고, 나는 어쨌든 도커를 아주 좋아했습니다. 그것에서 Odoo v10을 실행합니다. 하지만 작동하지 VS 코드 원격 디버그 얻을. this 설명을 시도했지만 실제로 얻지는 못합니다. 심지어 가능합니까? 그리고 그렇다면 어떻게 작동시킬 수 있습니까? 저는 쿠분투 16.04를 VS Code 1.6.1과 Don Jayamanne의 Python Extension으로 돌리고 있습니다. 아, 나는이 질문이있는 올바른 위치에 있기를 바랍니다. 어떤 규칙에도 위배되지 않습니다. VS 코드가있는 도커 컨테이너의 파이썬 코드를 원격 디버그하는 방법
는 UPDATE :
그냥 엘튼 스톤 맨의 방법을 시도했다.
There was an error in starting the debug server.
Error = {"code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect",
"address":"172.21.0.4","port":3000}
내 Dockerfile
은 다음과 같습니다 : 이것은 이전의 PyDev (이클립스) 작업을위한 목적으로했기 때문에 내 Dockerfile에서
FROM **cut_out**
USER root
# debug/dev settings
RUN pip install \
watchdog
COPY workspace/pysrc /pysrc
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
python-dev \
&& /usr/bin/python /pysrc/setup_cython.py build_ext --inplace \
&& rm -rf /var/lib/apt/lists/*
EXPOSE 3000
USER odoo
pysrc
가 그것으로이 오류를 받고 있어요.
이 내가 사용했던 run command
입니다 :
docker-compose run -d -p 3000:3000 odoo
을 그리고 이것은 내 launch.json
의 중요한 부분입니다 :
{
"name": "Attach (Remote Debug)",
"type": "python",
"request": "attach",
"localRoot": "${workspaceRoot}",
"remoteRoot": "${workspaceRoot}",
"port": 3000,
"secret": "my_secret",
"host": "172.21.0.4"
}
나는 그 지금은 충분한 정보를 바랍니다.
UPDATE 2 :
좋아, 나는 해결책을 찾아 냈다. Docker가 어떻게 작동하고 잘못했는지 오해했습니다. Docker로 구성된 완성품을 이미 가지고 있습니다. 그래서 내가해야 할 일은 VS 코드 설정을 docker-compose.yml에 적용하는 것이었다. 즉, launch.json을 포트 8069 (기본 Odoo 포트)로 변경하고 docker-compose up
만 사용하면 VS 코드에서 디버깅이 작동합니다. 불행히도 ptvsd
을 사용하면 내 Odoo 환경이 손상되지만 적어도 지금은 디버깅 할 수 있습니다. 감사!
업데이트 2를'launch.json'에 넣은 것으로 업데이트 할 수 있습니까? 또한 당신이'docker-compose up '을 사용한다고했을 때 당신이 의미하는 바를 잘 모릅니다. 귀하의 워크 플로우에 대한 설명은 감사하겠습니다 :) – allthethings
불행히도 나는 내 '발사가 없어.이 프로젝트에서 더 이상 json을 사용하지 않았지만, 내가 변경 한 것은 포트 "8069"에 대한 포트였습니다. 'docker-compose'는 도커의 기능을 확장하는 도구입니다. 'docker-compose up'은 발견 된 모든 도커 컨테이너를 시작합니다. 내가 의도 한대로 작동하지 않는다고 말하면서, 원격 디버깅 도커가 VS 코드에서 절대로 tbh로 작동하지 못했습니다. 일하러 가면 제게 말해주십시오. :) – Brotbret