[英]How to get ARM Docker images when creating devcontainer is VS Code? (mac m1)
[英]How to use VS code debugger with odoo in a docker container [vs code + odoo + docker + mac]
嗨,這有點類似於這個問題,但沒有關於 docker 容器的信息
我使用的是 Mac,所以我開始使用 docker,因為它在 macOS 上更方便 Microsoft Visual Studio 代碼可能具有完整的開發環境
它具有 MS Remote 的擴展 - 容器應該更容易
這是我的 docker-compose.yml
version: '2'
services:
db:
image: 'postgres:11'
environment:
- POSTGRES_PASSWORD=odoo
- POSTGRES_USER=odoo
- POSTGRES_DB=postgres
restart: always
volumes:
- './postgresql:/var/lib/postgresql/data'
pgadmin:
image: dpage/pgadmin4
depends_on:
- db
ports:
- '5555:80'
environment:
PGADMIN_DEFAULT_EMAIL: pgadmin4@pgadmin.org
PGADMIN_DEFAULT_PASSWORD: admin
volumes:
- './pgadmin:/var/lib/pgadmin'
odoo13:
image: 'odoo:13'
depends_on:
- db
ports:
- '10013:8069'
tty: true
command: '-- --dev=reload'
volumes:
- './addons:/mnt/extra-addons'
- './enterprise:/mnt/enterprise-addons'
- './config:/etc/odoo'
restart: always
為了了解remote debugging
如何適用於所有 python 服務或基於它的應用程序,例如 Odoo、Flask、Django、Web2py 等。 您必須了解三個不同的概念:docker 容器、調試器、python 應用服務器(在我們的例子中是 Odoo)。 所以在很多情況下,當從 docker 運行 Odoo 時,如下圖所示:
請注意區別:
debugpy
,反之亦然(你也可以使用 2 個端口) .Dockerfile
中定義的內容。 通過調試,您將入口點修改為debugpy
。 負責運行 Odoo因此要調試 Odoo,您將執行以下操作:
編輯您的docker.dev
文件並插入RUN pip3 install -U debugpy
。 這將安裝一個 python package debugpy
而不是已棄用的一個ptvsd
,因為您的 vscode(本地)將使用它與您的 Z05B6053C41A21430AFD6ZZ 的 debugpy(遠程)服務器通信。
啟動你的容器。 您將啟動剛剛安裝 debugpy 的debugpy
。 它可能是來自您的 shell 的下一個命令。
docker-compose run --rm -p 8888:8888 -p 8869:8069 {DOCKER IMAGE[:TAG|@DIGEST]} /usr/bin/python3 -m debugpy --listen 0.0.0.0:8888 /usr/bin/odoo --db_user=odoo --db_host=db --db_password=odoo
port
將與 odoo 服務器相關。 debugServer
將是調試服務器的端口{
"name": "Odoo: Attach",
"type": "python",
"request": "attach",
"port": 8869,
"debugServer": 8888,
"host": "localhost",
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/mnt/extra-addons",
}
],
"logToFile": true
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.