묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
docker-compose 내부 dns 관련 질문드립니다.
안녕하세요. 데브위키입니다.강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요. 실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다. 질문은 가능한 빠르게 답변 드리겠습니다. 😀감사합니다.해당 컴포즈 파일로 up -d 실행 후 docker ps를 하면 leafy-leafy-backend-1, leafy-leafy-frontend-1, leafy-leafy-postgres-1로 컨테이너 명으로 생성되는데, leafy-front, leafy-back에서 환경변수로 전달된 도메인이 어떻게 작동하는건가요??네트워크에서 이해한 바로는 컨테이너명으로 내부dns사용하는것으로 이해하였습니다! 추가적으로 docker insepct로 확인해보니 알리아스로 지정되서 동작하는걸로 유추되는데 이것이 맞을까요? 또한, 알리아스 지정은 compose파일에 있는 서비스명을 토대로 도커가 매핑해주는건가요?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
강의 흐름 이상
섹션 4 쿠버네티스 워크로드 - 4-1) 포드 디스크립터 작성강의에서kubectl port-forward 가 "해본적 없는데 해본적 있죠?" 하면서 나옵니다.또한 kubectl logs 도 그렇습니다.마치 순서가 바뀌었거나, 강의 내용이 추가/삭제하면서 흐름이 끊긴거 같습니다. 로드맵 얘기가 아닙니다. 강의를 처음부터 쭉 진행했을때 중간에 맥락이 끊긴거처럼 느껴진다는 것입니다.
-
미해결개발자를 위한 쉬운 도커
안녕하세요! 깃헙 액션 사용시 태그관련 문제가 있어서 여쭤봅니다.
안녕하세요 강의잘 보고 있습니다!workflow 야믈 파일에 공통적으로tags: ${{ secrets.DOCKERHUB_USERNAME }}/leafy-backend:${{ github.sha }}식의 태그 코드가 있는데 buildx failed with: ERROR: invalid tag "***/leafy-frontend:dc0c10532ac6c286eec74b3ddf4386ac8cb85a91": invalid reference format시의 해당 태그의 포맷이 옳지 않다고 나옵니다. 저는 webstorm으로 실습을 하고 있는데 IDE에서도 빨간줄이 그어져 있구요... 혹시 어떤 문제 때문인가요? 도커 관련 태그 관련 문서랑 stackoverflow나 https://docs.docker.com/reference/cli/docker/image/tag/에서 관련 내용을 찾아도 잘모르 겠습니다;;
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
섹션6 04-05 몽구스 부분 수강중입니다.
backend 폴더 통합 터미널에서 mongoose를 설치하고,docker-compose build를 했는데 이런 에러가 계속해서 뜹니다.해결해보려고 에러 메세지를 읽어보니, mongoose와 my-backend 도커에 설치되는 node가 버전이 안맞는다는 것 같은데, 괜히 손댔다가 문제가 더욱 복잡해질까봐 섣부르게 건드리질 못하겠네요 ㅜㅜ 04-02 강의에서, backend 도커에 coolsms 가 설치되지 않았다고 하여 Dockerfile에개인적으로 이 코드를 추가해준 걸 제외하면 04-04까지 수강하는데 문제는 없었습니다.RUN yarn add coolsms-node-sdk어떻게 해야될까요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
백엔드 과정을 수강 중인 학생입니다.
잘 몰라서 아는 지인에게 궁금해서 물어봤더니 도커라는 것을 받아서 거기에 리눅스 이미지로 올려서 쓰는게 있다고 하는데 그렇게 해서 수강해도 문제가 없을까요 ?또는 유튜브에 WSL2 Ubuntu 설치하는 방법도 있던데 이걸로 해도 수강에 문제 없을까요? 답변 부탁드립니다 ㅠㅠ
-
해결됨개발자를 위한 쉬운 도커
leafy backend에서 db연결이 잘 되지 않습니다...
안녕하세요 leafy back-end 부분에서 db 연결이 안되서 실행이 안되는 오류가 발생합니다docker run -d -p 8080:8080 -e DB_URL=leafy-postgres --name leafy --network leafy-network starlightpizza/leafy-backend:1.0.0 명령어를 사용하여 컨테이너를 실행시키면 db 연결을 못해서 오류가 발생하는데요docker file은 위 와 같이 설정 되어있고postgresql은 아래와 같이 정상적으로 동작이 되는걸 확인했습니다.어떤 부분에서 문제가 발생하는지 잘 모르겠어서 질문드립니다..
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
Not authorized to perform sts:AssumeRoleWithWebIdentity
안녕하세요 강사 님! 강의 열심히 잘 듣고 있습니다.마지막 강의까지 오게 되었는데요, 다름이 아니라 강사 님 코드 그대로 다 따라했는데도 불구하고Error: Could not assume role with OIDC: Not authorized to perform sts:AssumeRoleWithWebIdentity라는 에러가 뜹니다. IAM 에 역할도 부여하고, 정책에서 "Action": "sts:AssumeRoleWithWebIdentity" 이 있는 것도 확인되어 원인을 파악하지 못하고 있습니다.설명이 부족해서 죄송합니다 ㅠㅠ 그래도 혹시 짐작가는 다른 원인이 있을까요?
-
해결됨개발자를 위한 쉬운 도커
(Node.js, VSCode) 컨테이너 내부에서 개발환경 구성 중 node 설치 실패
(Node.js, VSCode) 컨테이너 내부에서 개발환경 구성파트에서 Dev Container 로 설치 중(10:50)설치가 아래와 같이 실패했다고 뜹니다.> yorkie@2.0.0 install /workspaces/leafy/leafy-frontend/node_modules/yorkie > node bin/install.js setting up Git hooks can't find .git directory, skipping Git hooks installation [ ......] - postinstall:@jridgewell/trace-mapping: info lifecycle @jridg[ ......] - postinstall:@vue/cli-overlay: info lifecycle @vue/cli-overla[ ......] - postinstall:astral-regex: info lifecycle astral-regex@2.0.0~ > core-js@3.29.1 postinstall /workspaces/leafy/leafy-frontend/node_modules/core-js > node -e "try{require('./postinstall')}catch(e){}" Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScrip t standard library! The project needs your help! Please consider supporting of core-js: > https://opencollective.com/core-js > https://patreon.com/zloirock > https://boosty.to/zloirock > bitcoin: bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz I highly recommend reading this: https://github.com/zloirock/core-js/blob/master/docs/2023-02 -14-so-whats-next.md [ ......] \ postinstall:easy-stack: info lifecycle easy-stack@1.0.1~post[ ......] \ postinstall:fresh: info lifecycle fresh@0.5.2~postinstall: f[ ......] / postinstall:ansi-regex: info lifecycle ansi-regex@3.0.1~post[ ......] \ postinstall:retry: info lifecycle retry@0.13.1~postinstall: [ ......] \ postinstall:chokidar: info lifecycle chokidar@3.5.3~postinst[ ......] / postinstall:@babel/helper-compilation-targets: info lifecycl[ ......] | postinstall: info lifecycle vuex@4.1.0~postinstall: vuex@4.1[ ......] - postinstall: info lifecycle vuex@4.1.0~postinstall: vuex@4.1[ .....] / prepare:leafy-frontend: info lifecycle leafy-front@0.1.0~prenpm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) added 967 packages from 521 contributors and audited 968 packages in 162.033s 104 packages are looking for funding run `npm fund` for details found 36 vulnerabilities (29 moderate, 1 high, 6 critical) run `npm audit fix` to fix them, or `npm audit` for details Done. Press any key to close the terminal.다행이 npm은 정상적으로 설치되어 있으나$ npm --version 6.14.18node 설치가 문제가 생긴 것 같습니다.$ node version internal/modules/cjs/loader.js:934 throw err; ^ Error: Cannot find module '/workspaces/leafy/leafy-frontend/version' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:931:15) at Function.Module._load (internal/modules/cjs/loader.js:774:27) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:75:12) at internal/main/run_main_module.js:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] }근데 serve는 실행이 됩니다. (다만 :80으로)$ npm run serve > leafy-front@0.1.0 serve /workspaces/leafy/leafy-frontend > vue-cli-service serve --port 80 Browserslist: caniuse-lite is outdated. Please run: npx update-browserslist-db@latest Why you should do it regularly: https://github.com/browserslist/update-db#readme INFO Starting development server... DONE Compiled successfully in 65898ms 6:25:25 PM App running at: - Local: http://localhost:80/ It seems you are running Vue CLI inside a container. Access the dev server via http://localhost:<your container's external mapped port>/ Note that the development build is not optimized. To create a production build, run npm run build.
-
해결됨개발자를 위한 쉬운 도커
안녕하세요! 질문이 있습니다.
안녕하세요! 강의 정말 잘보고 있습니다.2개의 궁금증이 생겨서 여쭤봅니다. 쉬울 수 있지만 저에겐 헷갈리는 부분같습니다.우선 OS에 관한 질문입니다. 이미지를 만드는 강의에서 그림으로 이미지 내부의 모양을 표현해주실 때가 있는데 그림에서 이미지가 OS를 가지고 있는 거처럼 느껴집니다. 실제로 이미지 안에 OS가 설치되어 있나요? (호스트 OS의 커널을 이용해서 만드는 거라고 이해했어서 실제 OS가 들어가 있진 않을 것 같은데 라는 생각이 들었습니다) 두번째는 포트포워딩쪽 질문입니다. 포트포워딩이 외부 IP가 인바운드를 할 때 특정 포트를 지정해 놓는 것이 자연스럽다고 이해했습니다. 그렇다면 제가 로컬에서 애플리케이션을 만들어서 8080포트로 열어두면 포트포워딩 쪽 테이블에 8080포트로 만들어 지는건가요? (미리 지정해 놓는다라는 개념이 조금 헷갈리는 것 같습니다.) 감사합니다 :)
-
미해결개발자를 위한 쉬운 도커
도커 볼륨(Docker Volume) 21:00~23:00 nginx 실습 부분
안녕하세요? 볼륨 nginx 실습부분에서 pwd 경로(index) 폴더로 볼륨을 지정하고 nginx를 아무리 다시 실행해 봐도 강사님 화면처럼 403 Forbidden이 나오지 않고 Welcome to nginx 화면이 나옵니다.제가 뭘 잘못한 건가요? $ pwd /c/adol/#study/Docker/EasyDocker/index docker run -d -p 8000:80 --name my-nginx-a -v /c/adol/#study/Docker/EasyDocker/index:/usr/share/nginx/html nginx d6c95b6bd03c21b0cf643614b42c440f4a91a94bb9a7808d5e932c719ad71ecf docker run -d -p 8001:80 --name my-nginx-b -v /c/adol/#study/Docker/EasyDocker/index:/usr/share/nginx/html nginx 8e1f6e6ed1f3fcb993120aefcfede0841af72f5a291e86f01cd0567d2e7400ba 제가 뭘 잘못했는지 알려 주시면 감사하겠습니다.OS는 Windows이고, 강사님이 따로 경로 // 언급 안 해서 안 붙였습니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
4000번 포트를 그대로 사용하면 로드밸런스와 연결이 불가능한가요?
선생님 강의를 따라하며 80번포트가아닌 4000번 포트를 그대로 두면 로드밸런스는 연결 불가능한가요?인스턴스의 80번 포트와 연결을하는건가요
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
서비스 메소드 작성 시 질문!
안녕하세요 쥬쥬님 서비스에서 메서드를 만들 때 질문 있습니다. A라는 서비스 메소드를 만들 때 로직이 복잡하면 코드가 엄청 길어지면 그 때는 안에 있는 메소드를 B, C 서비스 메소드로 분리해야 할 것 같은데 서비스 메소드를 만들 때 기준이 있나요?지금 createReview 서비스 메소드를 만들때restaurantRepository.findById(restaurantId).orElseThrow()를 사용하여 조회 및 검증 작업을 진행하는데 추후에 해당 코드를 그대로 유지하는지, 서비스 메소드로 분리하는지, 스태틱 메서드로 만드는지 기준이 궁금합니다.
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
4 쿠버네티스 워크로드에서부터 갑자기
섹션 4 쿠버네티스 워크로드 - 4-1) 포드 디스크립터 작성강의에서 kubectl port-forward 가 해본적 없는데 해본적 있죠 하면서 나옵니다. 또한 kubectl logs 도 그렇습니다. 무언가 강의 순서가 꼬인 것 같은데 어떤순서로 강의를 수강해야하나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
axios오류 문의드립니다!
프론트엔드 폴더에서 npm run start하면 바로 저 에러가 발생하고 소스 컨트롤 +S (저장)버튼 한번 누르면 되돌아옵니다.install axios 을 통해 package.json에 정상적으로 들어가 있는것도 확인했습니다.. 인풋값에 값 입력 후 전송 해도 동일한 에러가 발생하고axiox관련 404문제라 경로 및 오타도 확인해봤지만 문제가 없다고 생각하며 소스도 복사해서 가져온 상태입니다. 어떤곳을 확인을 해봐야될까요??ㅠㅠ
-
해결됨개발자를 위한 쉬운 도커
git clone https://github.com/daintree-henry/leafy.gif가 not found로 뜹니다.
PostgreSQL 컨테이너 구성에서 2:05초에 leafy 소스코드 다운로드를 하는데 아래와 같이 찾을 수 없습니다. $ git clone https://github.com/daintree-henry/leafy.gif Cloning into 'leafy.gif'... remote: Repository not found. fatal: repository 'https://github.com/daintree-henry/leafy.gif/' not found 실제 github를 가도 해당 gif파일이 존재하지 않습니다.이전 leafy 실습 테스트에서도 내부 사진들은 전부 로드되지 않았는데, 파일이 없다 보니 동일한 문제였던 것 같습니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
kafka 사용 이유
안녕하세요,궁금한 내용이 생겨 기존에 질문들을 살펴보고 제가 이해한 것이 맞는지 확인차 질문드립니다. redis의 싱글스레드 특성으로 100개 발급에 대한 race condition 해결 --> 그러나 insert 시 DB 처리량에 부하가 발생할 수 있음kafka 미들웨어를 통해 100개의 쿠폰 저장 이벤트를 보관해두었다가 컨슈머에서 원할때 꺼내어 처리할 수 있는 여지를 주어 처리량 부하를 분산시킬 수 있음ex) 쿠폰 발급은 당장 안해도 되니, kafka에 이벤트만 잘 발행되어 있다면 DB 작업량이 적은 새벽에 꺼내서 저장해도 됨 이렇게 이해했는데, 맞을까요?
-
해결됨개발자를 위한 쉬운 도커
docker compose부분 질문드립니다
제가 이해하는 바로는 build에 있는 도커파일을 바탕으로 image에 적힌 이름으로 이미지를 생성한다라고 이해했는데요 사진속에 초록색 부분 run부분에 deviwikirepo/leafy-postgres:1.0.0이 아니라 leafy-backend:5.0.0-compose가 있어야 하는게 아닌가요?
-
미해결대세는 쿠버네티스 [초급~중급]
authentication에서 클러스터 2개를 활용해서 kubectl로 context 변경하시는데
이거 기존에 만든 클러스터 외에 별도 VM 띄워서 클러스터 하나 더 만드신거죠??
-
해결됨개발자를 위한 쉬운 도커
docker 볼륨마운트에 대해서 질문드립니다
안녕하세요 :)배운 내용을 토대로 제 개인 우분투 컴퓨터 서버에 배포를 하려 하는데요수업에서 배운 3-Teir 형식으로 network설정도 하고, /api로 스프링 서버에 요청이 가도록 nginx도 설정했습니다 서버에 만들어놓은 RAID1 (경로는 /mydata/img) 디렉토리를 스프링과 볼륨 마운트해서 POST 요청시 이미지를 저장하도록 만들었는데요저장이 잘 되는건 확인했는데 클라이언트에서 src에 이미지경로를 어떻게 설정해야 할까요? 찾아보고 구현해본 방법중에서 아래 사진과 같이 만들었는데요 이게 3-Teir 의 요점과도 가장 잘 맞는거 같아서요..uploadPath와 RAID1을 볼륨 마운트하고,src="/images/이미지명",nginx에 location 으로 proxy_pass 설정만 해주면 될까요?아니면 추가적으로 설정할게 더 필요할까요?@Configuration public class WebConfig implements WebMvcConfigurer{ @Value("${upload.path}") private String uploadPath; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/images/**") .addResourceLocations("file:/" + uploadPath); } }아니면 진짜 정배가 따로 있을까요 ㅋㅋ...정확한 방법을 알고싶어서 질문드립니다 ㅠ
-
미해결대세는 쿠버네티스 [초급~중급]
Longhorn으로 설치를 완료했는데 대시보드를 보니 노드가 두 대 설정되어 있는데
마스터와 노드1만 설정되어 있는데 노드2는 왜 설정이 안되었을까요?