묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Window에서 Volume이 작동하지 않는 문제
Window에서 Volume을 적용할 때 작동하지 않는 경우가 있습니다.예를 들어, "Hello"를 "Hello123"으로 바꿔도 여전히 "Hello"만 나오는 경우입니다. 이런 경우 이전 강의(또는 안내)에서 알려주신 것을 잘 참고해야합니다.강사님의 안내는 다음과 같습니다.Mac의 경우 아래를 사용한다.docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app anonymous123/nodejs하지만, 윈도우의 경우는 아래를 사용해야한다.docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v %cd%:/usr/src/app anonymous123/nodejs 하지만, 저는 Window를 사용하고 있지만 Bash Shell을 사용하고 있었기 때문에 %cd%이 아닌 $(pwd)를 사용해야지 명령어가 작동이 되었습니다.예상할 수 있듯이 이렇게 하면 Volume이 작동되지 않습니다.그렇기 때문에 cmd를 이용하여 %cd% 방식으로 해줘야지 volume이 정상 작동 합니다. 결국 OS가 Window라서 그런거 같은데,,, 솔직히 잘은 모르겠습니다😂도움이 되셨으면 좋겠습니다!!
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
여러 컨테이너에서 동일 컨테이너를 공유할땐 어떻게 구성해야하나요?
안녕하세요. 여러 마이크로서비스에서 동일한 db를 공유할 경우는 어떻게 구성하는지 궁금합니다.일단 동일 network로 db컨테이너와 마이크로서비스 컨테이너를 run하고 실행한 컨테이너명으로 요청하도록은 알겠는대 docker compose를 이용해서 여러 마이크로서비스가 같은 db 컨테이너를 어떻게 참조할 수 있는지 궁금합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의대로 트래비스ci 와 aws elastic beanstalk에 포트까지 다 맵핑했는데
강의와 다르게 도메인을 가면 저는 위 화면이 나옵니다.learn react 라는 화면이 안뜨고 이런 화면이 뜨는 이유는 뭘까요..
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
.travis.yml 파일 작성하기 과정 중에 아무리해도 테스트가 성공이 안됩니다.
.travis.yml 파일 작성 후에 깃 커밋하고sudo: required language: generic services: - docker before-install: - echo "start creating an image with dockerfile" - docker build -t gonieyoo720/docker-react-app -f Dockerfile.dev . script: - docker run -e CI=true gonieyoo720/docker-react-app npm run test -- --coverage after_success: - echo "Test Success" 트래비스에까지 테스트를 돌렸는데, 몇번을 수정하고 해봐도트래비스에서 테스트를 통과하지 못하네요.오타 확인도 많이 해봤는데, 해결을 못하고있습니다.테스트에 중지되지않은 비동기작업이 있다고 오류를 해결하려면 devDependency를 추가하라는데, 어떻게 해야할까요--------------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s --------------------|---------|----------|---------|---------|------------------- All files | 8.33 | 0 | 33.33 | 8.33 | App.js | 100 | 100 | 100 | 100 | index.js | 0 | 100 | 100 | 0 | 7-17 reportWebVitals.js | 0 | 0 | 0 | 0 | 1-8 --------------------|---------|----------|---------|---------|------------------- Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 2.06 s Ran all test suites. Jest did not exit one second after the test run has completed. This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue. One of your dependencies, babel-preset-react-app, is importing the "@babel/plugin-proposal-private-property-in-object" package without declaring it in its dependencies. This is currently working because "@babel/plugin-proposal-private-property-in-object" is already in your node_modules folder for unrelated reasons, but it may break at any time. babel-preset-react-app is part of the create-react-app project, which is not maintianed anymore. It is thus unlikely that this bug will ever be fixed. Add "@babel/plugin-proposal-private-property-in-object" to your devDependencies to work around this error. This will make this message go away. The command "docker run -e CI=true gonieyoo720/docker-react-app npm run test -- --coverage" exited with 1. Done. Your build exited with 1.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
도커 볼륨을 이용한 소스 코드 변경 4:23 에서
docker: invalid reference format.See 'docker run --help' 자꾸 이렇게 뜨는데 docker run -it -p 3000:3000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app gonieyoo720/docker-react-app 저는 강의에 나오는 것과 동일하게 써서 오타를 모르겠습니다 ㅠㅠ 이유가 뭘까요
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
travis 에서 aws EB 연결시 오류
travis 에서 정상적으로 배포 되어 s3에 압축파일이 정상적으로 들어갑니다. 또한, EB 환경에서도 실행중인 버전이 Travis-... 로 시작하구요. 그런데 도커 도메인을 클릭시 아무것도 뜨지 않습니다. 환경 Health 확인 시에도 OK 로 정상 이고요.결론은 정상적으로 배포가 불가능합니다.리뉴얼은 도대체 언제 되는건가요
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker build ./ 했는데 이미지 ID가 안나옵니다
mac os m2 모델을 사용하는데, 질문게시판에 있는대로 buildkit 부분을 건드리려고 설정에서 Docker Engine에 들어가니, 해당부분이 저는 없더라구요. 찾아봐도 이에 대한 언급은 없는데, m1/m2 mac silicon 도커에서는 이미지 Id를 다른 방식으로 찾아야하나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의내용 따라가고있는데 에러가 발생되었습니다. 혹시 몰라 깃헙 코드도 가져와서 해봤는데 동일한 오류이고 js:818에 대한 레퍼런스도 부족해서 문의 남깁니다 ㅠㅠ
imsang-gyu@limsanggyu-MacBookPro nodejs-docker-app % docker run -p 5000:8080 limsanggyu/nodejsinternal/modules/cjs/loader.js:818 throw err; ^Error: Cannot find module '/nodemon' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15) at Function.Module._load (internal/modules/cjs/loader.js:667:27) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12) at internal/main/run_main_module.js:17:47 { code: 'MODULE_NOT_FOUND', requireStack: []}
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Instance has not sent any data since launch.
Instance has not sent any data since launch. -> 이 에러만 뜨고있어요 ㅠㅠ 왜 EC2를 못킬까요..?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Elastic Beanstalk에 No Data로 나옵니다..
traivs에서는 아래와 같이 빌드에 성공했어요. 하지만 No Data라고 뜨는데 어떻게 해야할까요..
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Elastic Beanstalk 환경생성 중 오류) 상태 Unkwon으로 변화가 없습니다
역할도 아래와 같이 변경했어요.업데이트가 되어야 하는데 변화가 없습니다.. 방법이 있을까요ㅠㅜ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
frontend 변경사항 반영
지금 nginx 를 이용해서 웹서버 랑 proxy랑 둘다 하는걸로 이해했는데그럼 docker-compose.yml 측에서 frontend 빌드시Dockerfile.dev 사용하니까frontend 변경사항이 바로 보여야 하는지 아닌지 궁금합니다frontend 변경 -> nginx 에서 정적파일을 가져와서 제공 지금 이런식인데docker-compose yml 에서nginx: restart: always build: dockerfile: Dockerfile context: ./nginx ports: - "3000:80"여기에서는 볼륨이 딱히 보이지 않아서요 nginx에서는 변경사항이 있으면 어떻게 tracking 하는건가요?프론트엔드가 변경되어도 그 변경된 사항을 다시 빌드해서 웹서버에서 제공이 되야하는건가요 안되는건가요? 현재는 프론트엔드 변경사항이 바로 반영이 되지 않아 제가 틀린건지 궁금해서 여쭙니다
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Docker Volumes 안됩니다 도와주세요
container 들어가서 files 확인해보면 server.js 변경사항이 잘 반영되어 있습니다근데 terminal로 들어가서 확인하면 변경사항이 반영이안되고 있어요컨테이너 자체는 file이 변경사항 update는 잘되고 있는거 같은데 껏다 켯다 해봐도 terminal에서는 update가 안됩니다. 웹브라우져 캐시 clear 해봤구요 다른 포트에서도 띄워봐도 똑같이 나와요npm이 변경사항을 감지를 못하나 싶어서 nodemon 깔아서 해볼까 하는데 강의자님은 nodemon 까신건 아닌거같은데좀 도와주세요 ㅠㅠ~~~보니까 바인드 마운트는 잘된거 같은데 ㅜㅜ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
도커 이미지 빌드 시 내부 도커를 사용할 수 있을까요?
도커파일로 이미지 빌드 시 멀티 스테이지로 테스트를 실행하려고 합니디.테스트 실행 시 testcontainers mysql를 도커로 실행되어야 하는데 가능한건지 궁금합니다.여러 시도를 했지만 실패했네요..이미지 빌드 시가 아닌 컨테이너 실행 후 내부에서는 도커가 실행되는 것을 확인했습니다.도커 파일의 RUN에서는 컨테이너가 실행되지 않았습니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
섹션9 compose up 에러
세션9 내용 따라하면서 docker compose up 커맨드를 입력했는데 다음과 같은 에러가 났습니다. 코드는 올려주신 깃헙 코드 사용하였는데 해결 방법 알 수 있을까요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Git의 하나의 Repository 안에서 branch별 배포가 가능한가요?
안녕하세요. 저는 IT 교육 프로그램에서 5명의 팀원과 프로젝트를 진행하고 있습니다. GitLab에서 하나의 Repository 안에서 작업을 하고 있습니다. 테스트 서버와 실환경 서버를 분리해서 진행해보려고 합니다. 그러기 위해 master 브랜치에 Push 될 때는 테스트 서버에 배포를 하고, master 에서 테스트 이후에 안정적인 코드를 production 이라는 브랜치에 Push 하려고 합니다.이때 하나의 Repository에서 브랜치별로도 다른 서버로 배포를 진행할 수 있나요?
-
해결됨따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
윈도우로 volume 적용 실패할 때
아래 n 번째에 윈도우에서 %cd% 로 경로 설정해도 안되는 증상이 같아서 해결방법을 알려주신 분이 계신데, 그 방법으로 해결해서 글 남깁니다. docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v "/$(pwd)/server.js:/usr/src/app/server.js" thdqudgns/node처럼, 마운트 할 앞 경로 전체를 큰 따옴표로 감싸주고,앞쪽에는 /${pwd}/server.js 를 적어서 파일을 명시해주고, 뒤쪽에도 /usr/src/app/server.js로 파일을 명시해주니 예제는 잘 해결되었습니다. 그러나 고민이...실제로 프로젝트를 진행하면서 배포를 하고 빌드를 할 때에는 폴더 단위로 작업이 이루어져야 하는데, 파일 단위로만 되는 것을 확인하여서 앞이 막막합니다... ++ 터미널을 우분투 (wsl) 로 열어서 $(pwd)docker run -d -p 5000:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app thdqudgns/node 로 하니까 잘 되네요.. 터미널이 이상한 걸로... 조만간 토이프로젝트를 AWS에 올릴 예정인데 문제가 없기를...
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
프로젝트 진행중인데..
현재 프론트와 백 나눠서 프로젝트를 진행중입니다.강의에서는 하나의 레파지토리에 프론트폴더, 백앤드폴더, docker-compose.yml 파일이 있던데저희는 오가니제이션으로 사용중이며, 프론트레파지토리, 백앤드레파지토리 나뉘어져있는 상황입니다. 이 상황에서 프론트레파지토리는 nginx를 위한 Dockerfile과 리액트를 위한 Dockerfile,백앤드 레파지토리는 스프링부트에 대한 Dockerfile, docker-compose.yml에는 redis 및 스프링부트에 대한 dockerfile정보 등이 들어가는게 맞을까요?결론은, nginx가 백앤드 레파지토리에도 필요한 것이 일반적인 것인지 여쭤봅니다!
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
강의와 다른 출력에 대한 내용 정리
[internal] load .dockerignore: .dockerignore 파일을 로드하는 단계입니다. .dockerignore 파일은 Docker 이미지를 빌드할 때 무시할 파일 또는 디렉토리를 지정하는 파일입니다.[internal] load build definition from dockerfile: Dockerfile을 로드하는 단계입니다. Dockerfile은 이미지 빌드에 필요한 설정과 명령어들을 정의하는 파일입니다.[internal] load metadata for docker.io/library/alpine:latest: Docker Hub에서 Alpine Linux의 최신 이미지에 대한 메타데이터를 로드하는 단계입니다. FROM docker.io/library/alpine 명령어에서 사용된 "alpine" 이미지를 가져오기 위한 작업입니다.[1/1] FROM docker.io/library/alpine: Alpine Linux를 기반으로 이미지를 생성하는 단계입니다. FROM 명령어는 이미지의 베이스로 사용할 이미지를 정의하는데, 여기서는 Docker Hub의 Alpine Linux 이미지를 사용합니다.exporting to image: 이미지를 빌드하고 있는 단계가 끝났으며, 이미지를 내보내는 단계입니다.=> exporting layers: 이미지의 레이어를 내보내는 단계입니다. Docker 이미지는 여러 레이어로 구성되어 있으며, 각 레이어는 변경된 파일들을 포함하고 있습니다.=> writing image sha256:c85225625fb8e8572c14c74944213a43a1b92fe78b270278bde228: 최종 이미지를 기록하는 단계입니다. 이미지의 SHA256 해시값을 보여주며, 해당 해시값으로 이미지를 식별할 수 있습니다
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker rm `docker ps -a -q` 명령어 안 먹으시는 분들에게
강사님은 mac 환경에서 진행 하셔서 cmd 에서 ` 백틱으로 사용하십니다. 윈도우 환경에서는 ` 대신 $() 사용을 해야하고 해당 기호도 powershell에서만 적용이 됩니다. docker rm $(docker ps -a -q)위의 명령어를 powershell에 입력 하시면 됩니다.