반응형
도커를 루트가 아닌 것으로 복사하려면 어떻게 해야 합니까?
도커 이미지를 작성하는 동안 어떻게 해야 합니까?COPY
결과 파일을 루트가 아닌 사용자가 소유하도록 이미지에 파일을 저장할 수 있습니까?
v17.09.0 이상 버전의 경우
선택적 플래그 사용--chown=<user>:<group>
둘 중 하나로ADD
아니면COPY
명령들.
예를들면
COPY --chown=<user>:<group> <hostPath> <containerPath>
--chown 플래그에 대한 설명서는 이제 주 도커 파일 참조 페이지에서 활성화됩니다.
이슈 34263이 병합되었으며 릴리스 v17.09.0-ce에서 사용할 수 있습니다.
v17.09.0-ce 이전 버전인 경우
도커가 지원하지 않습니다.COPY
루트 이외의 사용자로서.할 필요가 있습니다.chown
/chmod
뒤에 있는 파일COPY
지휘.
도커 파일 예제:
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 이전 버전에서는COPY
명령에서 다음과 같이 말했습니다.
모든 새 파일과 디렉터리는 UID와 GID가 0인 상태로 생성됩니다.
History 이 기능은 6119, 9943, 13600, 27303, 28499, 이슈 30110의 여러 GitHub 이슈를 통해 추적되었습니다.
이슈 34263은 옵션 플래그 기능을 구현한 문제이며 이슈 467은 문서를 업데이트했습니다.
나는 이것을 좋아했고 완벽합니다.
FROM node:lts-alpine3.17
RUN addgroup app && adduser -S -G app app
RUN mkdir /app && chown app:app /app
USER app
WORKDIR /app
COPY --chown=app:app package*.json .
RUN npm install
COPY --chown=app:app . .
EXPOSE 8090
CMD ["npm","start"]
언급URL : https://stackoverflow.com/questions/44766665/how-do-i-docker-copy-as-non-root
반응형
'programing' 카테고리의 다른 글
왼쪽에서 오른쪽으로 Ionic 리스트 아이템을 스와이프하는 방법? (0) | 2023.10.29 |
---|---|
파워셸 출력 열폭 (0) | 2023.10.29 |
사용자 지정 게시물 유형에 대한 읽기 설정에 정적 페이지 추가 (0) | 2023.10.29 |
Oracle SQL의 변수를 통한 시간 간격 전달 (0) | 2023.10.29 |
SQL 다른 테이블을 기준으로 행 삭제 (0) | 2023.10.29 |