2016-06-09 4 views
2

Was ist der beste Weg, um einen benutzerdefinierten Container aus einer Dockerfile mit benutzerdefinierten Konfigurationsdateien zu erstellen? Ich möchte so etwas tun:Wie kopiere/füge Ressourcen über eine Dockerfile für privilegierte Benutzer hinzu?

FROM jboss/wildfly:latest 
USER jboss 
COPY configuration/standalone.xml /opt/jboss/wildfly/standalone/configuration/ 

Aber als Ergebnis ist die kopierte Ressource von Benutzer 'root' gehört. So erklärt die Docker-Dokumentation den COPY- und ADD-Befehl. Der USER-Schalter wird ignoriert.

Also meine Frage ist: sollte ich immer einen Chown-Befehl nach dem Kopieren/neue Ressourcen hinzufügen?

FROM jboss/wildfly:latest 
USER jboss 
COPY configuration/standalone.xml /opt/jboss/wildfly/standalone/configuration/ 
RUN chown -R jboss /opt/jboss/wildfly/standalone/configuration/ 

Das sieht ein bisschen ungeschickt für mich aus?

Antwort

2

Das sieht ein bisschen ungeschickt für mich aus?

Ja, es ist ungeschickt, und es wurde in issue 7537, auch gepatcht in PR 9934 diskutiert.
Aber abgelehnt.

Sie können in PR 10775 und seine COPY --user= Option suchen, die zusammengeführt wurde.