도커 어려워

김민우·2022년 10월 16일
0

docker

목록 보기
5/5

추후에 다시 정리할 글...입미다

unable to prepare context

개발 환경에서 도커 배포를 위한 실습 중 dockerfile을 세팅하고 docker build ./ 옵션으로 빌드를 하고자 했는데 다음과 같은 에러를 마주쳤다.

위와 같은 에러는 dockerfile을 못찾을 때 나오는 에러이다.

현재 폴더에는 dockerfile.dev라는 이름의 개발 환경 도커 파일이 있다.
(개발 환경 도커파일 생성시 관용적으로 .dev라는 이름을 붙여준다고 한다.)

그러므로, 임의로 이름을 명시해서 build를 해줘야한다.

명령어는 다음과 같다.
docker build -f dockerfile.dev .
-f 옵션은 이미지를 빌드할 때 쓰일 도커 파일을 임의로 지정해준다.

되긴 된다.

docker: invalid reference format.

react-app을 소스로 하는 docker 환경 배포 테스트 중 docker volume 옵션을 주려고 하는데 안된다.
찾아봤더니 윈도우 환경에서는 package.json의 scripts에서 start를 아래와 같이 변경해야지 돌아간다고 한다.

  "scripts": {
    "start": "WATCHPACK_POLLING=true react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

package.json 내용을 수정하고 다시 빌드하자... 도르마무

?

해결법은 맥북으로 바꾸는 것.

원인을 찾았다.
docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app ...

???

${pwd}로 입력해주어야 한다.

만만세!


docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v ${pwd}:/usr/src/app ...
실행하기 위한 명령어가 기괴하다.

docker-compose를 이용하기 위해 yml 파일을 만들어주자.

version: "3"
services:
  react:
    build:
      context: . 
      # context : 도커 이미지를 구성하기 위한 파일과 폴더들이 있는 위치
      dockerfile: Dockerfile.dev
    ports:
      - "3000:3000"
    volumes:
      - /usr/src/app/node_modules
      - ./:/usr/src/app
    stdin_open: true 
    # stdin_open: 리액트 한정, 리액트 앱을 끌때 필요

and then, docker-compose up를 입력하고 localhost:3000으로 접속해보자.

volume도 적용이 잘 된다. 만만만세!

profile
Pay it forward.

0개의 댓글