반응형
도커 파일에서 RUN mkdir를 실행할 수 없습니다.
도커 이미지를 작성할 때 발생하는 오류 메시지입니다.
Step 18 : RUN mkdir /var/www/app && chown luqo33:www-data /var/www/app
---> Running in 7b5854406120 mkdir: cannot create directory '/var/www/app': No such file or directory
이는 오류를 발생시키는 Docker 파일의 일부입니다.
FROM ubuntu:14.04
RUN groupadd -r luqo33 && useradd -r -g luqo33 luqo33
<installing nginx, fpm, php and a couple of other things>
RUN mkdir /var/www/app && chown luqo33:www-data /var/www/app
VOLUME /var/www/app
WORKDIR /var/www/app
mkdir: cannot create directory '/var/www/app': No such file or directory
너무 말도 안 되는 소리로 들립니다. 물론 그런 디렉토리는 없습니다.나는 그것을.여기 뭐가 잘못됐나요?
문제는./var/www
또한 존재하지 않습니다.mkdir
기본적으로 재귀적이 아닙니다. 즉 부모 디렉터리가 존재할 것으로 예상됩니다.
용도:
mkdir -p /var/www/app
...또는 를 생성하는 패키지를 설치합니다./var/www
도커 파일에서 이 지점에 도달하기 전에 말입니다.
존재하지 않는 상위 디렉토리에 연결된 하위 디렉토리를 작성할 때는-p
에 깃발을 꽂다mkdir
... 다음으로 도커 파일을 업데이트하십시오.
RUN mkdir -p ...
제가 테스트해봤는데 맞아요.
간단히 사용할 수도 있습니다.
WORKDIR /var/www/app
폴더가 없으면 자동으로 폴더가 만들어집니다.
그런 다음 필요한 디렉토리로 다시 전환합니다.
이전 사용 사례와 별도로 Docker Composition을 사용하여 새 더미 폴더를 만들 경우 디렉토리를 만들 수도 있습니다.docker-compose up
:
volumes:
- .:/ftp/
- /ftp/node_modules
- /ftp/files
또한 여러 디렉토리를 사용한 후 해당 디렉토리의 변경 소유자를 사용하려면 다음을 사용할 수 있습니다.
RUN set -ex && bash -c 'mkdir -p /var/www/{app1,app2}' && bash -c 'chown luqo33:www-data /var/www/{app1,app2}'
이거만!
언급URL : https://stackoverflow.com/questions/30741995/cannot-execute-run-mkdir-in-a-dockerfile
반응형
'IT' 카테고리의 다른 글
MySQL - SELECT...WHERE ID IN (..) - 올바른 순서 (0) | 2023.09.20 |
---|---|
Linked Server를 사용하여 MSSQL에서 MariaDB를 업데이트하면 SSIS에서 오류가 발생함 (0) | 2023.09.20 |
Android에서 사용자 지정 라디오 단추 추가 (0) | 2023.09.20 |
json과 xml의 장점과 단점은 무엇입니까? (0) | 2023.09.20 |
C#에서 참조된 XSD에 대해 XML 유효성 검사 (0) | 2023.09.20 |