tag run remove hub compose and docker dockerfile

run - ¿Cómo docker COPY como no root?



docker tag (1)

Mientras construyo una imagen Docker, ¿cómo COPY un archivo en la imagen para que el archivo resultante sea propiedad de un usuario que no sea root?


Para versiones v17.09.0-ce y posteriores

Use el indicador opcional --chown=<user>:<group> con los comandos ADD o COPY .

Por ejemplo

COPY --chown=<user>:<group> <hostPath> <containerPath>

La documentación para el indicador --chown ahora está activa en la página principal de referencia de Dockerfile .

El número 34263 se ha fusionado y está disponible en la versión v17.09.0-ce .

Para versiones anteriores a v17.09.0-ce

Docker no admite COPY como usuario que no sea root. Necesita chown / chmod el archivo después del comando COPY .

Dockerfile de ejemplo:

from centos:6 RUN groupadd -r myuser && adduser -r -g myuser myuser USER myuser #Install code, configure application, etc... USER root COPY run-my-app.sh /usr/local/bin/run-my-app.sh RUN chown myuser:myuser /usr/local/bin/run-my-app.sh && / chmod 744 /usr/local/bin/run-my-app.sh USER myuser ENTRYPOINT ["/usr/local/bin/run-my-app.sh"]

Antes de v17.09.0-ce, la referencia de Dockerfile para el comando COPY decía:

Todos los archivos y directorios nuevos se crean con un UID y GID de 0.

Historial Esta función ha sido rastreada a través de múltiples problemas de GitHub: 6119 , 9943 , 13600 , 27303 , 28499 , problema 30110 .

34263 es el problema que implementó la funcionalidad de 34263 opcional y el problema 467 actualizó la documentación.