ile Docker Konteynerinde python kodunu uzaktan ayıklama Bu soru için yeni kayıt oldum. VS Code'lu Docker Container'daki uzak hata ayıklama python kodunun mümkün olup olmadığı ile ilgili. Burada tamamen yapılandırılmış Docker Konteyneri sahibiyim. Bununla ilgili biraz yardım aldım ve yine de docker için oldukça yeni. İçinde Odoo v10 çalışır. Ancak VS kodunda çalışmak için uzaktan ayıklama yapamıyorum. this açıklamasını denedim, ama gerçekten anlamadım. Bu mümkün mü? Ve eğer evetse, onu nasıl çalıştırabilirim? VS Code 1.6.1 ile Kubuntu 16.04 ve Don Jayamanne'den Python Extension ile çalışıyorum. Ah evet ve umarım bu soruyla doğru yerdeyim ve hiçbir kurallara aykırı değil. VS Code
GÜNCELLEME:
Sadece Elton Stoneman yolunu denedik.
There was an error in starting the debug server.
Error = {"code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect",
"address":"172.21.0.4","port":3000}
Benim Dockerfile
şuna benzer: Bu daha önce Pydev (Eclipse) ile çalışmak için tasarlanmıştır çünkü benim Dockerfile içinde
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
orada Bununla beraber bu hatayı alıyorum.
Bu benim kullandığım run command
geçerli:
docker-compose run -d -p 3000:3000 odoo
Ve bu benim launch.json
önemli bir parçasıdır:
{
"name": "Attach (Remote Debug)",
"type": "python",
"request": "attach",
"localRoot": "${workspaceRoot}",
"remoteRoot": "${workspaceRoot}",
"port": 3000,
"secret": "my_secret",
"host": "172.21.0.4"
}
Sanırım şimdilik bu kadar bilgi umut.
GÜNCELLEME 2:
Tamam çözüm bulundu. Docker'ın nasıl çalıştığını ve yanlış çalıştığını tamamen yanlış anladım. Zaten bir Docker-compose yapılandırılmış bir tamamlayıcı vardı. Yapmam gereken her şey, VS Kodu yapılandırmalarını docker-compose.yml'e uyarlamaktı. Bu sadece launch.json'ı 8069 portuna (varsayılan Odoo portu) değiştirmem ve sadece docker-compose up
'u kullanmam gerekti, daha sonra VS Kodunda hata ayıklama işlemi yapmak zorunda kaldım. Ne yazık ki ptvsd
kullanımı Odoo ortamımı yok ediyor, ama en azından şimdi hata ayıklayabiliyorum. Teşekkürler!
Güncelleme 2'nizi 'launch.json'unuza ne yazdığınızla günceller misiniz? Ayrıca 'docker-compose up' kullandığınızı söylediğinizde ne demek istediğinizden emin değilsiniz. İş akışınızın bir açıklaması takdir edilecektir :) – allthethings
Maalesef benim lansmanım yok.json' artık bu proje için, ama tüm değişti içinde "port": 8069' için liman oldu. 'docker-compose', docker işlevini genişleten bir araçtır. “docker-compose up” sadece bulunan tüm docker konteynerlerini başlatır. Hala amaçlandığı gibi çalışmadığını söylemek zorundayım, VS Code'da tbh çalışmak için uzaktan hata ayıklama docker'ı olmadı. Eğer işe alırsanız lütfen bana söyleyin :). – Brotbret