gpt4 book ai didi

docker - 无法覆盖docker compose中的文件

转载 作者:行者123 更新时间:2023-12-04 20:31:48 34 4
gpt4 key购买 nike

我正在使用 docker compose 来设置 payara 服务器,并且需要覆盖 domain.xml 文件。我目前正在通过
volumes:
- './domain.xml:/opt/payara41/glassfish/domains/domain1/config/domain.xml'
但是当我用 docker-compose up 组合它时它一直说它无法将 domain.xml 重命名为 domain.xml.bak。有什么办法可以获得覆盖它的权限或确保重命名有效吗?

最佳答案

这样的事情应该工作:

command: sh -c 'cp /tmp/domain.xml /opt/payara41/glassfish/domains/domain1/config/domain.xml && YOUR_PREVIOUS_COMMAND'
volumes:
- ./domain.xml:/tmp/domain.xml

或编辑您当前的 command (或 CMD )如果它是脚本,则在副本之前。

编辑:这种选择非常方便和优雅。
command: sh /run-from-compose.sh
volumes:
- ./domain.xml:/tmp/domain.xml
- ./run-from-compose.sh:/run-from-compose.sh

从 compose.sh 运行:
#!/bin/sh
cp /tmp/domain.xml /opt/payara41/glassfish/domains/domain1/config/domain.xml

YOUR_PREVIOUS_COMMAND

不需要修改镜像,只需要挂载一个自定义脚本作为 command .

关于docker - 无法覆盖docker compose中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44389507/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com