Możesz uruchomić skrypt lub bardziej złożony parametr do RUN. Oto przykład z pliku Docker, który pobrałem, aby obejrzeć wcześniej:
RUN cd /opt && unzip treeio.zip && mv treeio-master treeio && \
rm -f treeio.zip && cd treeio && pip install -r requirements.pip
Z powodu użycia „&&” dojdzie do ostatecznej komendy „pip install” tylko wtedy, gdy wszystkie poprzednie komendy się powiodły.
W rzeczywistości, ponieważ każda RUN tworzy nowe zatwierdzenie i (obecnie) warstwę AUFS, jeśli masz zbyt wiele poleceń w Dockerfile, wykorzystasz limity, więc scalenie RUN (gdy plik jest stabilny) może być bardzo przydatna rzecz do zrobienia.
Odpowiedzi:
Możesz uruchomić skrypt lub bardziej złożony parametr do RUN. Oto przykład z pliku Docker, który pobrałem, aby obejrzeć wcześniej:
Z powodu użycia „&&” dojdzie do ostatecznej komendy „pip install” tylko wtedy, gdy wszystkie poprzednie komendy się powiodły.
W rzeczywistości, ponieważ każda RUN tworzy nowe zatwierdzenie i (obecnie) warstwę AUFS, jeśli masz zbyt wiele poleceń w Dockerfile, wykorzystasz limity, więc scalenie RUN (gdy plik jest stabilny) może być bardzo przydatna rzecz do zrobienia.
źródło
cd
jedynego trwa dla bieżącegoRUN
polecenia. NastępnyRUN
rozpocznie się od prąduWORKDIR
.Aby przejść do innego katalogu, użyj WORKDIR . Wszystkie polecenia RUN, CMD i ENTRYPOINT po WORKDIR zostaną wykonane z tego katalogu.
źródło
źródło