묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
production 환경에서의 volumn의 장점
강의 너무 잘 듣고있습니다 감사합니다~^^ 제 질문은 배포환경(Elastic bean stalk)에서는 docker-compose.yml에 volume으로 매핑한다면 참조가 되지 않을 것 같은데요 가령 아래와 같은 docker-compose.yml을 master에 푸쉬해서 code pipeline으로 Beanstalk에게 넘겨줘서 컨테이너를 실행시킬 것인데, 그 컨테이너안의 /app 폴더가 로컬폴더인 ./frontend 를 가리킬 것 같지는 않은데요. 그렇다면, volume은 배포환경이 아닌, 개발환경에서의 편의를 위해서 사용하는 것인가요? 감사합니다. version: "3" services: frontend: build: dockerfile: Dockerfile.dev context: ./frontend volumes: - /app/node_modules - ./frontend:/app stdin_open: true
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Package.json 파일이 없다는 오류가 나오지 않는 경우
안녕하세요 강사님이 진행하신 그대로 따라서 진행했는데, 도커 파일 빌드 했을 때 Package.json이 없다는 오류가 발생하지 않습니다. Windows OS 의 cmd 창에서 진행하고 있습니다. 이유가 뭘까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
윈도우 cmd창에서 redis-cli라고 치면 강사님 mac과 다르게 실행이 안되는데 윈도우는 원래 그런가요?
cmd창에서 그냥 redis-cli라고 치면 내부또는 외부명령 실행할수 있는 프로그램,또는 배치파일이 아닙니다라고 뜨는데 윈도우에서는 안되는건가요?
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
test에 질문이 있습니다
현재 App.test.js에는 test()안에 실행중인 코드가 없는 것 같고 test도 react에서만 진행하는데 테스트가 되는게 있나요?테스트를 하여 성공을 하더라도 무엇을 기준으로 성공한건지 잘 모르겠습니다.. 그리고 백엔드 프론트 DB 등등 다양한 컨테이너가 존재하는데 테스트는 리액트만 진행하네요 이게 도커 환경에서 CI로 배포하는 과정까지 큰 틀에 집중하기 위해 test부분 내용은 의도적으로 생략하고 별다른 동작을 안해도 절차를 보여주기 위해 넣은걸로 보면 될까요??
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
기존 컴포즈 파일의 빌드 내용은요??
build: dockerfile context 등은 지워야하나요? 개발환경에서 사용하는 도커 컴포즈 파일과 운영환경(AWS)에 사용하는 파일의 구조가 조금 다른데 한 파일에 그냥 떄려넣어도 되나요??
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
initialize.sql은 만들기만하고 COPY 안해주나요?
도커파일에서 한글 설정 관련 파일만 ADD해주고막상 mysql설정 내용이 다 들어가있는 mysql/sqls/initialize.sql 파일은 이미지 빌드 시 안가져가는거같은데 ...
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
노드로 만든 서버는 빌드를 따로 안하나요?
노드로 만든 서버는 도커환경에서도 빌드를 해줄 필요가 없는건가요??
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
.travis.yml 파일에 대한 질문이 있습니다.
저번에 질문을 남겼는데 다른 강의에 대한 답변을 남겨주셔서 다시 질문 남깁니다. 이 질문은 간단한 어플을 실제로 배포해보기(테스트 & 배포 부분)의 Travis CI의 AWS접근을 위한 API 생성에 대한 질문입니다. TravisCI에서 이번 강의에서 작성한 .travis.yml 파일을 가지고 aws beanstalk에 배포할 때 .yml 파일에는 Dockerfile.dev를 빌드하고 실행하는 내용만 적혀있는데, 돌아가는 과정을 보면 Dockerfile이 배포가 되는 것 같습니다. TravisCI에서 Dockerfile은 언제 읽는지 궁금합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
expose 3000
EXPOSE를 80이 아닌 3000으로 한 이유가 무엇인지요? FROM node:alpine AS builder WORKDIR /usr/src/app COPY package.json ./ RUN npm install COPY ./ ./ CMD ["npm", "run" "build"] FROM nginx EXPOSE 3000 COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf COPY --from=builder /usr/src/app/build /usr/share/nginx/html
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
EACCES: permission denied, mkdir '/usr/src/app/node_modules/.cache' 에러가 나옵니다 ㅠㅠ
version: "3" # 도커 컴포즈 버전 services: # 이 곳에 실행하려는 컨테이너들을 정의 react: # 컨테이너 이름 build: context: . dockerfile: Dockerfile.dev ports: - "3000:3000" volumes: - /usr/src/app/node_modules - ./:/usr/src/app environment: # 소스 수정 즉시 반영되는 # 핫로딩 활성화하는 부분 - CHOKIDAR_USEPOLLING=true stdin_open: true
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Volumn으로 실행할 경우 에러
sudo docker run -it -p 3000:3000 markcha/react 로 실행하면 잘 작동하는데 이걸 볼륨으로 돌리면 거부된 허가로 에러가 발생합니다. sudo docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app markcha/react EACCES: permission devined mkdir '/usr/src/app/node_modules/.cache'
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
안녕하세요 AWS 관련 질문있습니다.
선생님 안녕하세요. 제가 몇가지 질문이 있습니다. 1. 에러 로그 확인 방법 질문 제가 선생님처럼 코드를 한번에 잘 작성하면 좋겠지만, 따라하는 과정에서 에러가 발생하였습니다. 현재 선생님 코드를 복사하여 docker 관련부분만 수정해서 작동은 합니다. 하지만 제가 다음에 aws를 사용할 때 이러한 에러가 발생한다면 어떤 오류인지 확인을 어떻게 해야할지 모르겠습니다. 예를 들어 travis ci는 Job log라는 창에서 빌드할때 에러를 확인할 수 있었습니다. 하지만 aws는 travis ci에서 성공적으로 빌드해도 에러가 발생하였는데 무엇을 고쳐야 하는지 저는 알 방법이 없었습니다... 또한 로그를 다운받아 봤지만 그파일 안에서도 다양한 txt 파일들이 있었습니다. 하지만 정작 제가 발생한 error를 어디서 확인해야 할 지 모르겠습니다.. 이러한 상황일 떄 선생님 께서는 어떻게 에러를 확인하시고 어디서 실마리를 찾는지 여쭤보고 싶습니다. 아래는 제가 에러가 발생 하였을떄 상황입니다. 2. 혹시 이러한 에러 코드가 나왔을때 선생님꼐서 정확한 정답을 내려주실수는 없어도 경험상 이러한 경우에 나온다고 말씀해주실 수 있을까요? 에러가 발생하는 경우가 다양한 것도 인지하고 있습니다. 정확히 A라는 상황에서 이런 로그가 남습니다. 라는 답변이 아니어도 선생님께서는 이러한 에러를 직면하신다면 어떻게 해결하려고 시도하실지 궁금합니다.. 2021-03-07 02:38:05 UTC+0900 WARN Environment health has transitioned from GREEN to YELLOW 2021-03-07 02:38:05 UTC+0900 WARN Elastic Load Balancer app/awseb-AWSEB-1UN2OUGOSAYCD/1ad65aededf55f2d has zero healthy instances. 2021-03-07 02:37:18 UTC+0900 ERROR During an aborted deployment, some instances may have deployed the new application version. To ensure all instances are running the same version, re-deploy the appropriate application version. 2021-03-07 02:37:18 UTC+0900 ERROR Failed to deploy application. 2021-03-07 02:37:18 UTC+0900 ERROR Unsuccessful command execution on instance id(s) 'i-0201a69c0018de7b0'. Aborting the operation. 2021-03-07 02:37:18 UTC+0900 INFO Command execution completed on all instances. Summary: [Successful: 0, TimedOut: 1]. 2021-03-07 02:37:18 UTC+0900 WARN The following instances have not responded in the allowed command timeout time (they might still finish eventually on their own): [i-0201a69c0018de7b0]. 2021-03-07 02:23:15 UTC+0900 INFO Deploying new version to instance(s). 선생님께서 바쁘실테지만 시간 괜찮으실 때 답변해주시면 정말 감사하겠습니다. 감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker run Failed to compile.
안녕하세요 질좋은 강의 감사합니다. 해당 명령어 사용 시 docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app test/myapp 이런 오류가 출력됩니다.. Failed to compile. EACCES: permission denied, open '/usr/src/app/node_modules/.cache/.eslintcache' Failed to compile EACCES: permission denied, open '/usr/src/app/node_modules/.cache/.eslintcache' This error occurred during the build time and cannot be dismissed. -v /usr/src/app/node_modules 해당 부분 제외하면 정상적으로 작동합니다. 제가 놓친 부분이 있을까요 ?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker volume 파트 오류
윈도우 사용자이고 %cd%:/usr/src/app 으로 했지만 계속 오류나서 직접 파일 경로를 지정했더니 이렇게 오류가 납니다 ㅠㅠ docker: Error response from daemon: invalid mode: /usr/src/app. 어떤 부분이 잘 못된 건가요...?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
<<어플리케이션 소스 변경으로 재빌드시 효율적으로 하는 법 >> 질문입니다 .
copy . . RUN npm install 와 COPY package. json . RUN npm install COPY . . 의 차이에서 궁금해서 질문 드립니다. 전체를 복사해오면 package.json 파일도 같이 컨테이너 안에 이동되는게 아닌가요? 왜 완성본 도커파일에서는 RUN npm install 할때 캐시에서 가져오는거죠...? 여기서의 캐시란 컨테이너의 캐시인가요? 아니면 바깥(도커 환경 전체 ) 의 캐시인가요? 그리고 저는 build과정을 기존에 있던 도커파일로 만들더라도 (수정 후 재빌드라고 가정) 새로운 img id, 새로운 container id를 갖는 별개의 컨테이너가 생긴다고 이해를 했는데 무언가 잘못 이해한걸까요...? 도대체 재빌드 과정의 캐시는 어디서 있는 누구인지 궁금합니다. 아니면 DOCKERFILE이 하나 일때는 기존에 만들었던 이미지를 토대로 컨테이너를 생성하고, 그 이미지가 특정 캐시를 가진 걸까요??(이쪽이 좀 더 맞아 보이긴 합니다) 근데 이렇게 이해를 해도 npm install을 웹상에서 다 해오는것과 캐시에서 가져오는 것의 상황 차이에 대해 이해가 잘 안됩니다. 답변 부탁드리겠습니다
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Dockerfile 와 Dockerfile.dev
Travis yml 파일에 Dockerfile.dev를 빌드하고 그 이미지를 run 하고 있는데 어떻게 배포시에는 Dockerfile이 배포될 수 있는 건지 궁급합니다! 현재의 스크립트로는 Dockerfile.dev를 deploy했기 때문에 NGNIX 설정하고는 무관한 것이 아닌가요??
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker push 후 travis ci와 docker hub에 리파지토리가 없다고 나오네요 왜 그럴까요??
안녕하세요. 강의내용 대로 진행했는데 docker push 후 travis ci와 docker hub에 리파지토리가 없다고 나오네요
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
build 시 출력이 이상합니다 이미지는 어떻게 찾나요?
강의의 내용과 다르게 출력됩니다. 어떻게 하면 영상과 동일하게 출력되나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
리액트 화면이 바로 반영이 안되는 윈도우 유저분들..
App.js에서 소스코드를 바꾸고 저장했는데도 바로 화면에 반영이 안되시는 윈도우 유저분들은 docker-compose.yml에서 환경변수를 설정해줘야 합니다. 아래 스크린샷 같이 하시면 됩니다. (CHOKIDAR_USEPOLLING=true)는 이전 강의 질문 게시판에서 안근창님이 발견하신 것을 참조했습니다.
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
DB 관련 질문
안녕하세요 !강의 잘 듣고 있습니다.강의 내용의 질문은 아니긴 합니다만, 혹여나 도움 주실 수 있나 해서 여쭤봅니다 ㅎ강의 수강한 내용을 바탕으로 프로젝트에 적용해보고있는데, DB를 Sequelize를 사용하여 구성하였습니다.Sequelize를 사용하였을 때는 docker 관련 설정을 어떻게 해두어야할까요? 강의에서 진행했던 DB 구성과의 방법은 좀 달라서 구글링도 해보고 여러가지 시도중인데 쉽지않네요.