无法覆盖泊坞窗文件中的文件

问题描述:

我使用docker compose来设置payara服务器并需要覆盖domain.xml文件。我目前正在通过无法覆盖泊坞窗文件中的文件

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

+0

为什么你需要重写你明确安装的东西? – Robert

+0

我不想装载它,我想复制它。但我似乎无法找到复制它的方法 – Wouter

+0

为它装入一个配置文件夹会更好吗,因此它会覆盖domain.xml文件? – Wouter

像这样的东西应该工作:

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 

run-from-compose.sh:

#!/bin/sh 
cp /tmp/domain.xml /opt/payara41/glassfish/domains/domain1/config/domain.xml 

YOUR_PREVIOUS_COMMAND 

你并不需要修改图像,只安装充当command自定义脚本。