Sin embargo, debido a que no hay un comando de CD, tengo que pasar la ruta completa cada vez (hacer XYZ / ruta completa). ¿Alguna buena solución para esto?
Puede ejecutar un script o un parámetro más complejo para EJECUTAR. Aquí hay un ejemplo de un Dockerfile que he descargado para verlo anteriormente:
RUN cd /opt && unzip treeio.zip && mv treeio-master treeio && \
rm -f treeio.zip && cd treeio && pip install -r requirements.pip
Debido al uso de '&&', solo llegará al comando final 'pip install' si todos los comandos anteriores han tenido éxito.
De hecho, dado que cada RUN crea una nueva confirmación y (actualmente) una capa AUFS, si tiene demasiados comandos en el Dockerfile, usará los límites, por lo que fusionar las RUN (cuando el archivo es estable) puede ser muy difícil. Lo útil para hacer.
Respuestas:
Puede ejecutar un script o un parámetro más complejo para EJECUTAR. Aquí hay un ejemplo de un Dockerfile que he descargado para verlo anteriormente:
Debido al uso de '&&', solo llegará al comando final 'pip install' si todos los comandos anteriores han tenido éxito.
De hecho, dado que cada RUN crea una nueva confirmación y (actualmente) una capa AUFS, si tiene demasiados comandos en el Dockerfile, usará los límites, por lo que fusionar las RUN (cuando el archivo es estable) puede ser muy difícil. Lo útil para hacer.
fuente
cd
única dura para elRUN
comando actual . El siguienteRUN
comenzará desde el actualWORKDIR
.Para cambiar a otro directorio, use WORKDIR . Todos los comandos RUN, CMD y ENTRYPOINT después de WORKDIR se ejecutarán desde ese directorio.
fuente
fuente