Yanıtlar:
V17.09.0-ce ve daha yeni sürümler için
Opsiyonel bayrağını kullanın --chown=<user>:<group>
biriyle ADD
veya COPY
komutlar.
Örneğin
COPY --chown=<user>:<group> <hostPath> <containerPath>
--Chown bayrağıyla ilgili belgeler artık ana Dockerfile Başvuru sayfasında yayınlanmaktadır .
Sayı 34263 birleştirildi ve v17.09.0-ce sürümünde mevcut .
V17.09.0-ce'den daha eski sürümler için
Docker, COPY
root dışında bir kullanıcı olarak desteklenmez . Sen gerek chown
/ chmod
dosyanın sonraCOPY
komuta.
Örnek Dockerfile:
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"]
V17.09.0-ce'den önce, komutun Dockerfile Başvurusu COPY
şunları söyledi:
Tüm yeni dosyalar ve dizinler UID ve GID 0 ile oluşturulur.
Geçmiş Bu özellik birçok GitHub sorunu ile izlenmiştir: 6119 , 9943 , 13600 , 27303 , 28499 , Sayı 30110 .
Sayı 34263 , isteğe bağlı bayrak işlevini uygulayan sorundur ve Sayı 467 , belgeleri güncelleştirmiştir.
chown
40MB dosyalarda çalıştırmak için> 300MB ).