[Docker] ERROR in [eslint] EACCES: permission denied, mkdir '/app/node_modules/.cache'

2022. 12. 20. 11:48·팀프로젝트/close_sea
728x90
반응형

도커를 배우고 처음으로 적용한 프로젝트이다.

윈도우를 사용하며 도커를 공부하면서 마운트가 안되는 오류가 있었다.

그래서 리눅스로 도커를 공부했었다.

 

루트폴더를 만들고 도커환경을 세팅하는 과정에서 문제가 발생했다.

리액트를 빌드하려고 하면

ERROR in [eslint] EACCES: permission denied, mkdir '/app/node_modules/.cache' 라는 오류문구가 떴다.

옆에 팀원이 맥을 사용하길래 도커를 깔고 해보라고 한 결과 맥은 이상없이 잘 빌드되고 실행됐다.

리눅스에서 구글링을 해보고 주변에 도움도 청하면서 온갖 방법을 시도했지만 해결할 수 없었다.

2일을 투자했지만 아무것도 얻지 못했다.

 

그래서 대안책으로 docker-compose를 통해 데이터베이스와 백엔드 두개의 컨테이너만 만들고 실행하고

리액트는 컨테이너를 만들지 않고 npm start로 따로 실행했다.

 

아마 로컬 리눅스에서 권한이 이상하게 꼬인걸수도 있지만 컴퓨터 두 대로 해봤는데 둘다 실패했고

스택오버플로우 같은 커뮤니티에서도 해결이 안된 사람이 많았다.

근거없는 생각이지만 배포할때 AWS에서 제공하는 리눅스에서는 잘 작동할것이라고 생각한다. ㅎㅎ...

 

 

작성한 Dockerfile

FROM node:18

WORKDIR /app

COPY package.json .

RUN npm install

COPY . .

EXPOSE 8000

CMD [ "npm","start" ]

docker-compose.yaml

version: "3.8"
services:
  mysql:
    image: mysql:8.0
    env_file:
      - ./env/mysql.env
  front:
    build: ./front
    ports:
      - "3000:3000"
    volumes:
      - ./front:/app
      - /app/node_modules
    stdin_open: true
    tty: true
  back:
    build: ./back
    ports:
      - "8000:8000"
    volumes:
      - ./back:/app
      - /app/node_modules
    depends_on:
      - mysql
    env_file:
      - ./env/back.env
728x90
반응형

'팀프로젝트 > close_sea' 카테고리의 다른 글

[CloseSea] NFT거래 권한 이슈  (0) 2022.12.28
[CloseSea] 지갑연결 버튼  (0) 2022.12.28
[CloseSea] 스마트 컨트랙트  (1) 2022.12.27
[CloseSea] swap페이지 만들기  (0) 2022.12.27
[CloseSea] eslint, prettier 설정  (0) 2022.12.26
'팀프로젝트/close_sea' 카테고리의 다른 글
  • [CloseSea] 지갑연결 버튼
  • [CloseSea] 스마트 컨트랙트
  • [CloseSea] swap페이지 만들기
  • [CloseSea] eslint, prettier 설정
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    go
    하이퍼레저
    블록체인
    CSS
    node
    erc20
    html
    30일 챌린지
    프로그래머스
    js
    mysql
    node.js
    30일챌린지
    go언어
    도커
    React
    ERC721
    nodejs
    명령어
    컨테이너
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[Docker] ERROR in [eslint] EACCES: permission denied, mkdir '/app/node_modules/.cache'
상단으로

티스토리툴바