7

I'm using docker compose to set up a payara server and need to overwrite the domain.xml file. I'm currently doing it through

volumes: - './domain.xml:/opt/payara41/glassfish/domains/domain1/config/domain.xml' but when i compose it with docker-compose up it keeps saying that it could not rename domain.xml to domain.xml.bak. Is there any way i can get permissions to overwrite it or make sure the rename works ?

Lieke
  • 181
  • 1
  • 12

1 Answers1

6

Something like this should work:

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

Or edit your current command (or CMD) if it's a script, prepending the copy.


Edit: This alternative is very handy and elegant.

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

You don't need to modify the image, just mount a custom script that acts as command.

Robert
  • 33,429
  • 8
  • 90
  • 94