2017-06-06 26 views
2

我使用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

回答

1

像這樣的東西應該工作:

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自定義腳本。