Você pode executar um script ou um parâmetro mais complexo para o RUN. Aqui está um exemplo de um Dockerfile que baixei para examinar anteriormente:
RUN cd /opt && unzip treeio.zip && mv treeio-master treeio && \
rm -f treeio.zip && cd treeio && pip install -r requirements.pip
Por causa do uso de '&&', ele só chegará ao comando 'pip install' final se todos os comandos anteriores tiverem sido bem-sucedidos.
De fato, como todo RUN cria uma nova confirmação e (atualmente) uma camada AUFS, se você tiver muitos comandos no Dockerfile, você usará os limites, portanto, mesclar os RUNs (quando o arquivo estiver estável) pode ser muito coisa útil a fazer.
Respostas:
Você pode executar um script ou um parâmetro mais complexo para o RUN. Aqui está um exemplo de um Dockerfile que baixei para examinar anteriormente:
Por causa do uso de '&&', ele só chegará ao comando 'pip install' final se todos os comandos anteriores tiverem sido bem-sucedidos.
De fato, como todo RUN cria uma nova confirmação e (atualmente) uma camada AUFS, se você tiver muitos comandos no Dockerfile, você usará os limites, portanto, mesclar os RUNs (quando o arquivo estiver estável) pode ser muito coisa útil a fazer.
fonte
cd
único dura oRUN
comando atual . O próximoRUN
começará a partir do atualWORKDIR
.Para mudar para outro diretório, use WORKDIR . Todos os comandos RUN, CMD e ENTRYPOINT após o WORKDIR serão executados a partir desse diretório.
fonte
fonte