Docker 容器将文件从本地路径复制到容器中

时间:2021-02-08 16:33:50

标签: docker keycloak

我需要将我自定义的 keycloak 主题复制到 keycloak 容器中才能像这里提到的那样使用它:

https://medium.com/@auscunningham/change-login-theme-in-keycloak-docker-image-55b5fa5ceec4

在确定我的容器 ID:docker container ls 并制作如下文件列表后:docker exec 7e3a420017a8 ls ./keycloak/themes

它正确返回主题列表,但使用它来将我的文件从本地复制到容器:

docker cp ./mycustomthem 7e3a420017a8:/keycloak/themes/

docker cp ./mycustomthem 7e3a420017a8:./keycloak/themes/

我收到以下错误:

<块引用>

错误:没有这样的容器:路径:7e3a420017a8:/keycloak

我无法想象错误在哪里,因为我可以将文件列出到文件夹和容器中,你能帮我吗? 提前致谢。

3 个答案:

答案 0 :(得分:0)

根据您的新问题更新:

尝试以下操作:

docker cp ./mycustomthem 7e3a420017a8:/opt/jboss/keycloak/themes/

Keycloak 中正确的 path 实际上是 /opt/jboss/keycloak/themes/

答案 1 :(得分:0)

这似乎是解决这个问题的一种奇怪的方法。为什么不只拥有一个使用 Keycloak 容器作为基础镜像的 Dockerfile,然后在构建时将主题复制到容器中呢?然后运行你构建的镜像?如果您决定添加任何插件或自定义,从长远来看,这也将是一种更稳定的模式,并且只需更改 Dockerfile 中的基本映像,它就可以轻松升级到新版本。

答案 2 :(得分:0)

在我的电脑上工作。

diff

您在命令 add full path docker cp mycustomthem e67f76e8740b:/opt/jboss/keycloak/themes/raincatcher-theme 中添加了错误的路径。