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



我需要复制我的自定义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/

我得到以下错误:

错误:No such container:path: 7e3a420017a8:/keycloak

我想象不出错误在哪里,因为我可以列出文件夹和容器中的文件,你能帮助我吗?提前谢谢你。

可以在我的电脑上运行。

docker cp mycustomthem e67f76e8740b:/opt/jboss/keycloak/themes/raincatcher-theme

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

处理这个问题的方法似乎很奇怪。为什么不只是有一个Dockerfile,使用Keycloak容器作为基础图像,然后在构建时将主题复制到容器中?然后运行你构建的映像?从长远来看,如果你决定添加任何插件或自定义,这也将是一个更稳定的模式,它提供了一个简单的升级路径,只需更改Dockerfile中的基本映像。

根据您的新问题更新:

尝试以下操作:

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

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

最新更新