6

我正在使用 docker compose 来设置 payara 服务器,并且需要覆盖 domain.xml 文件。我目前正在通过

volumes: - './domain.xml:/opt/payara41/glassfish/domains/domain1/config/domain.xml' 但是当我用它编写它时,docker-compose up它一直说它无法将 domain.xml 重命名为 domain.xml.bak。有什么办法可以让我获得覆盖它的权限或确保重命名有效?

4

1 回答 1

4

像这样的东西应该工作:

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.

于 2017-06-06T12:50:27.830 回答