Die vorkompilierten Ressourcen von Rails werden mit nginx in Docker bereitgestellt

8

Momentan richte ich meine App mit dem Andockfenster ein. Ich habe eine minimale Rails App mit 1 Controller. Sie können meine Einrichtung erhalten, indem Sie diese ausführen:

%Vor%

Und ich habe folgendes Setup:

Dockerfile :

%Vor%

Wo VOLUME "$APP_DIR/public" ein Volume erstellt, das mit dem Nginx-Container geteilt wird, der dies in Dockerfile :

hat %Vor%

Und dann docker-compose.yml :

%Vor%

Das funktioniert, aber nur beim ersten Mal, wenn ich es baue. Wenn ich Assets ändere und die Bilder erneut erstelle, werden sie nicht aktualisiert. Möglicherweise, weil Volumes nicht auf Image-Build aktualisiert werden, denke ich, weil Docker Caching behandelt.

Ich möchte, dass die Assets bei jeder Ausführung von docker-compose built && docker-compose up aktualisiert werden. Irgendeine Idee, wie man das erreicht?

    
jeroenvisser101 23.03.2016, 13:08
quelle

1 Antwort

2

Verfassen bewahrt Volumes beim erneuten Erstellen auf.

Sie haben ein paar Optionen:

  1. Verwenden Sie keine Volumes für die Assets, sondern erstellen Sie die Assets und ADD oder COPY sie beim Build
  2. in den Webcontainer
  3. docker-compose rm app vor dem Ausführen von up , um den alten Container und die Volumes zu entfernen.
dnephin 25.03.2016 16:40
quelle