总结当我按下 Docker Desktop UI 中的运行按钮时,VSCode 构建的映像仅执行 CMD 命令。
大家好,
我正在使用 Drools 镜像以及 Docker Desktop 和 VSCode。
我的devcontainer.json
文件如下所示:
{
"name": "Existing Dockerfile",
"build": {
// Sets the run context to one level up instead of the .devcontainer folder.
"context": "..",
// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
"dockerfile": "../Dockerfile"
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [8001,8080]
}
我的Dockerfile
设计很简约,如下所示:
FROM quay.io/kiegroup/business-central-workbench:latest
我的compose.yaml
文件如下所示:
services:
app:
entrypoint:
- sleep
- infinity
image: docker/dev-environments-default:stable-1
init: true
volumes:
- type: bind
source: /var/run/docker.sock
target: /var/run/docker.sock
问题是,当 VSCode 将镜像发送到 Docker Desktop 时,
CMD ["./start_business-central-wb.sh"]
父镜像中的发现似乎没有被触发,如日志中所示
为什么当 VSCode 将 Docker 镜像发送到 Docker Desktop 时,Docker 镜像没有立即开始运行?我缺少什么概念?我对这两种技术都非常不熟悉。
任何帮助是极大的赞赏。
答案1
问题是我没有overrideCommand
在devcontainer.json
文件中使用它。当将此值设置为 false 时,将允许运行容器中列出的 CMD。
下面的文件似乎做了我认为它应该做的事情。
{
"name": "Debian",
"image": "quay.io/kiegroup/business-central-workbench:latest",
"overrideCommand": false
}