首页 > 解决方案 > Docker 命令从 Docker run 成功运行,但在 Dockerfile 中使用 CMD 时没有

问题描述

我将 Bitnami/Keycloak-Gatekeeper Docker 映像包装在 Dockerfile 中,并尝试运行:

FROM bitnami/keycloak-gatekeeper:latest
COPY config.yml /opt/bitnami/keycloak-gatekeeper/config.yml
CMD ["/keycloak-gatekeeper --config /opt/bitnami/keycloak-gatekeeper/config.yml"]

这给出了一个错误:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"/keycloak-gatekeeper --config /opt/bitnami/keycloak-gatekeeper/config.yml\": stat /keycloak-gatekeeper --config /opt/bitnami/keycloak-gatekeeper/config.yml: no such file or directory": unknown.

但是,当我使用 docker run 命令运行它时,一切都按预期执行。

docker run -v "config.yml:/opt/bitnami/keycloak-gatekeeper/config.yml" bitnami/keycloak-gatekeeper:latest /keycloak-gatekeeper --config /opt/bitnami/keycloak-gatekeeper/config.yml

为什么这直接通过 docker run 工作,而不是在 Dockerfile 中工作?

如何解决这个问题,以便我可以使用 Dockerfile 运行?

标签: dockerdockerfilekeycloakbitnamikeycloak-gatekeeper

解决方案


CMD ["keycloak-gatekeeper", "--config", "/opt/bitnami/keycloak-gatekeeper/config.yml"]


推荐阅读