묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
VScode 컨테이너 내부에서 개발환경 구성
안녕하세요! 데브위키님!우선 도커 강의를 잘 듣고 있고 너무 도움이 되는 강의라 강의를 만들어 주셔서 감사합니다!세션 8의 VScode 컨테이너 내부에서 개발환경 구성 강의를 듣다가 궁금한 점이 생겼는데dockerfile이.devcontainer의 dockerfile과 leafy-front 파일의 dockerfile이 두 개가 있는데강의에서처럼 VScode에 컨테이너 구성을 했을 때, leafy-front 파일의 dockerfile은 쓰이지 않는 것인지또 실제 배포를 했을 땐, leafy-front 파일의 dockerfile이 사용되고 .devcontainer의 dockerfile은 사용이 안 되는 것인지 궁금합니다.마지막으로 이 두 dockerfile은 서로에게 영향을 주진 않는지도 궁금합니다!
-
미해결실습으로 배우는 선착순 이벤트 시스템
카프카 토픽 생성오류
https://www.inflearn.com/questions/1126638 위의 링크와 같이 저도 토픽 생성이 안되는데요환경은Mac M2 환경입니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
redis 를 사용하여 문제점 해결하기
redis 를 사용하여 문제점 해결하기 7:25 의 도표를 보고있습니다.Thread - 1 이 실행이 end - 10:02 가 되면 Thread - 2 가 start - 10 : 02 가 되고 incr coupon_count 가 된다고 나와있습니다. 동기식으로 돌아가게 되면 , 속도적인 측면에서 괜찮을까요 ?? 만약에 사용자가 동시다발적으로 쿠폰 발급을 클릭하게 되면 동기식으로 했을때 괜찮을까요 ??
-
해결됨쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
시작쿠버는 metallb가 없는게 맞나요?
현재 이부분에서 sleep 도 안보이고metallb도 없고 강의 화면에서 "시작 쿠버는 최소한의 설치로 저부분은 존재하지않습니다. 참고부탁드립니다."라고 쓰여있는뜻이 시작쿠버는 metallb부분은 생략해도되는지 궁금합니다.
-
해결됨쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
Tabby 가 실행이 되지않습니다.
.cmd 실행파일에 있는 명령어로 tabby로 설정하고 바탕화면에 있는 이걸 실행해도 아무런 반응이 없습니다.관리자 권한으로 실행해봐도 아무런 반응이 없고컴퓨터를 포맷하고 다시해봐도 아무런 반응이 없는데방법이 없을까요?구글링해봐도 원인을 모르겠습니다.운영체제는 윈도우1 1 입니다. -- 현재 어떻게 해결됐습니다. tabby에서 이부분이 뜨면서 접속이 안되는데 config.yaml파일을 복사 해왔는데 이부분에서 막혀서 진행이 안되고있습니다.
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
강의 자료는 어디에 업로드되어 있는걸까요?
못찾겠어요 ㅠㅠ
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
rm -rf mysql_data
10:55 초 쯤 rm -rf mysql_data 로 하고 다시세팅하면기존에 디비들이 다 삭제되고초기화 되는거 아닌가요 !!?
-
미해결실습으로 배우는 선착순 이벤트 시스템
프로젝트셋팅
안녕하세요 강의 잘 듣고있습니다.설정 하실때 ,api 와 consumer 두개로 나눠서 하셨는데 ,하나의 src 밑에 있는 프로젝트로 진행을 할수가 있을까요 ?? 코드를 봤는데 중복된게 많아서 api 와 consumer 로 나누지 않고 하나의 src 밑에서 작성해도 되지않을까 생각했습니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker compose up 시 느려짐 + 프로젝트 실행 안되는 문제
안녕하세요. 항상 좋은 강의 감사합니다.현재 이 강의와 CI/CD 입문/실전 강의를 동시에 수강중입니다. 현재 강의로 배포하는 방법을 익힌 후CI/CD 에서 배운것처럼 무중단 배포로 넘어가려고 하는데 문제가 생겨 질문드립니다... 강사님의 설명대로 할 땐 제대로 스프링부트 파일이 실행이 되었는데개인프로젝트에 진행하려 하니 문제가 생겨서 문의드립니다. 각각의 개인 프로젝트마다환경도 다르고 설정도 달라서 조언주시기 힘드실 수도 있을 것 같습니다. 한 이틀을 꼬박 매달려도안되서 답답한 마음에 질문드립니다... ㅜㅜ 먼저, 현재 주어진 상황입니다1.윈도우환경에서 실습중이고, putty를 활용하여 프로젝트를 진행중에 있습니다.2. 프로젝트는 스프링부트+mysql (스프링시큐리티도 적용)aws의 인바운드규칙에 8080포트는 열어뒀습니다. 그리고 제가 작성한 도커파일과 compose.yml입니다. 운영환경에서 실행시킬거라 ENTRYPOINT를 추가했습니다.FROM openjdk:17-jdk COPY build/libs/*SNAPSHOT.jar /app.jar ENV SPRING_PROFILE="dev" ENTRYPOINT ["java", "-Dspring.profiles.active=${SPRING_PROFILE}", "-jar", "/app.jar"]services: my-server: build: . ports: - 8080:8080 depends_on: my-db: condition: service_healthy environment: - SPRING_PROFILES_ACTIVE=dev my-db: image: mysql environment: MYSQL_ROOT_PASSWORD: pwd1234 MYSQL_DATABASE: mydb volumes: - ./mysql_data:/var/lib/mysql ports: - 3306:3306 healthcheck: test: ["CMD", "mysqladmin", "ping"] interval: 5s retries: 10이러고 docker compose up -d --build를 하면이렇게 나옵니다. 처음엔 프로파일 설정하는 게 문제였는데 위와 같이 설정을 한 후로는 dev로 잘 인식하는 것 같은데 로그 찍히는게 이게 전부입니다. 시행착오 전엔 더 길게 찍히고 db접속되는내용도 나왔었는데 그 후론 이렇게 나오고 전부네요. 문제점은일단 제 ec2의 퍼블릭ip:8080 으로 접속 시 접속이 안되는 점이 제일 큽니다. 제 빌드 파일이 그렇게 크지 않은 것 같습니다. 80mb정도 나오고, EC2는 용량을 30Gb로 설정을 해줬습니다. 그런데 너무너무 느려집니다. docker compose up -d --build 후에 너무너무 느려지고 명령어 하나 치기까지 너무 느려집니다. 모니터링 결과 cpu는 20~30 퍼센트 정도 사용으로 나옵니다. 그래서 인스턴스 재부팅도 여러번해봤지만 compose up만 하면 느려지네요,, 그래서 이 EC2 인스턴스로 연습을 많이 한 것 같아서 필요없는것들 지웠지만 그래도 너무 느려집니다. 그래서 새로 aws 계정을 파서 EC2 인스턴스를 만들어서 실행해봐도 느려지는 문제는 똑같습니다. 스프링시큐리티를 적용했기 때문에 처음 실행할 때 토큰이 나오면 로그인하려 하는데 아예 접속이 안되니 어떡해야할지 모르겠네요 ㅠㅠ....구글링과 gpt로 다 고쳐보고는 있는데 근본적인 문제가 어디일지 감이 안와서 혹시 예상되는 문제점이 있으실까 해서 여쭤봅니다 ㅠㅠ 감사합니다. p.s. 새로 만든 EC2 인스턴스에선 cpu사용률이 99퍼 찍었네요 ㅠㅠ 일단 이것부터 해결하고 오겠습니다...
-
미해결실습으로 배우는 선착순 이벤트 시스템
test 오류 발생하는 분들을 위한 해결 방법!
test를 돌릴 때, kafka consumer가 반응을 하지 않으면 이전 테스트에서 사용한 값 때문일 수도 있습니다! 저 같은 경우는 테스트가 순식간에 끝나버려서 의심을 했는데요.redis-cli에 접속하신 뒤 `flushall` 명령어를 친 뒤에 테스트를 진행해보시면 해결 됩니다!
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
docker 빌드가 이루어지지 않고있어요 ㅜㅜ
혼자서 해결해보려고하는데 해결할수가 없네요 저런 에러만 나오고 알방법이 없어서 이렇게 질문드려요 깃허브링크까지 있어요 꼭 해결하고싶어요!!https://github.com/Minzion0/portfolio
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
docker volume
저 docker volume을 사용해서 app 폴더의 내용을 수정하면 , 바로 docker container안에 반영되게 하느것을 따라하고 있는데 , 저장후 반영이 안되서 , docker exec -it 를 해서 container안에 들어가 보니 , 사용자가 수정 권한이 없어서 777로 바꾸고 다시 해봐도 잘 안되네요 , cat index.ts파일해도 바뀐 파일이 container안에 반영자체가 안되는거 같습니다 도와주세
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
호스트컴퓨터
강의 너무 잘보고있습니다. 컨테이너 개념은 조금 이해가가는데 호스트컴퓨터는 지금 강의에서 우리 각각 개인의pc 라고 이해 하면 될까요 ?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
배포 실패
에러 메시지The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems.CodeDeploy 공식문서 참조less /var/log/aws/codedeploy-agent/codedeploy-agent.log / ERROR에러 메시지InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Error during perform: Aws::S3::Errors::NoSuchKey - The specified key does not exist. - /opt/codedeploy-agent/vendor/gems/aws-sdk-core-3.121.1/lib/seahorse/client/plugins/raise_response_errors.rb:17:in call 혹시나 하고 CodeDeploy Agent restart 재시작EC2인스턴스 IAM 재설정yaml 마지막부분 \ 인식하게 수정다 안되네요...
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법의 스크립트 질문
- name: SSH(원격접속)로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 #env: #APPLICATION_PROPERTIES: ${{ secrets.APPLICATION_PROPERTIES }} with: #SSH로 접속할 때 필요한 값들이 있음. IP주소, ubuntu, 키페어 (EC2에 접속하기 위한 과정) host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} #envs: APPLICATION_PROPERTIES #문제가 있으면 스크립트 중단. script_stop: true script: | rm -rf /home/ubuntu/instargram-server/current mkdir /home/ubuntu/instargram-server/current mv /home/ubuntu/instargram-server/tobe/project.jar /home/ubuntu/instargram-server/current/project.jar cd /home/ubuntu/instargram-server/current sudo fuser -k -n tcp 8080 || true nohup java -jar project.jar > ./output.log 2>&1 & rm -rf /home/ubuntu/instargram-server/tobe스크립트에서 실행 순서에 대한 질문입니다.기존에 있던 서버는 current 파일의 project.jar 로 실행되고 있었을텐데 current 파일을 먼저 날리고 기존의 서버를 종료시켜 주는 부분이 이해가 되지 않습니다. 아마도 제 생각에는 current 폴더 안의 project.jar로 실행되고 있던 8080포트의 프로세스가 current 폴더를 삭제해주면 에러가 생길 것 같은데 에러가 생기지 않는 이유가 궁금합니다. 프로젝트 종료 -> 프로젝트가 담겨있던 폴더 삭제 -> 새 프로젝트 폴더 생성 순으로 가야 할 것 같은데 기존 프로젝트 폴더 삭제 -> 새 프로젝트 폴더 생성 -> 프로젝트 이동 -> 기존 프로젝트 종료 -> 새 프로젝트 실행 이런 순서로 해도 에러가 안나는 이유가 궁금합니다. 두서없이 써서 죄송합니다 ㅎㅎ;
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
선생님 10-8 숙제 질문있습니다.
빨간줄 에러 그어져있는거를 읽고 ProductTag타입과 create-product.input.ts에서 선언한 @Field(() => [String]) productTags: string[];이부분이 문제라고 판단을 했습니다.더 깊게 파고들어가보면 선생님이 제시하신 숙제에대해서 먼저 살펴봐야할것 같다는 생각이 들었습니다. 1. 아래 코드에서 ...product의 타입은 Product로 선언되어있습니다. // 숙제-1)왜 아래 에러가 발생하는지 고민해보기 // 숙제-2)아래 에러 고쳐보기 const result = this.productsRepository.save({ ...product, ...updateProductInput, });Product의 타입중 아래와같이 ProductTag[]를 필수로선언한게 있는데 이게 업데이트프로덕션인풋 타입과 충돌(?)이 일어나서 에러가 발생하는것 같았습니다. productTags: ProductTag[];왜냐하면 업데이트프로덕션인풋 타입은 아래처럼 모든 타입을 ?로 바꿔주고있기때문입니다.PartialType(CreateProductInput)create-product.input.ts에서 선언한 타입을 아래와 같이 바꿔주어 해결했습니다.ProductTag의 {} 객체안에들어가는 값까지 다 ?로 바꿨습니다. @Field(() => [String]) productTags: DeepPartial<ProductTag[]>;여기까지가 제가 풀이해본건데요..솔직히 맞는지 모르겠어요요약하자면 ,updateProductInput이랑 product 타입이 충돌일어나서 그런거다. 라고 이해하고있는데 맞을까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
EC2 콘솔에서 vi compose.yml 파일에서 입력시 문제 발생
위 사진 처럼 타이핑을 치면 타이핑 친 내용이 보이지 않는 문제가 발생하고 있는데 해결하는 방법을 알려주실수있으실까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
디렉토리를 만들고 -v 옵션 사용 시
kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx (algorithmMac) $ ls kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx (algorithmMac) $ mkdir mariadbEx_data kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx (algorithmMac) $ ls mariadbEx_data kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx (algorithmMac) $ cd mariadbEx_data kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx/mariadbEx_data (algorithmMac) $ vi empty.txt kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx/mariadbEx_data (algorithmMac) $ ls empty.txt $ docker run -v /Users/kimhj/desktop/bootProjectEx/dockerStudy/docker-mariadbEx/mariadbEx_data:/var/lib/mysql -e MARIADB_ROOT_PASSWORD=1234 -d -p 3307:3306 mariadb 68669f8d37eb3f6dcff172cca30174958796351621cda19cd0eeff502094f8a2 kimhj@MacBook-Pro-2 ~/desktop/bootProjectEx/dockerStudy/docker-mariadbEx/mariadbEx_data (algorithmMac) $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 68669f8d37eb mariadb "docker-entrypoint.s…" 5 seconds ago Up 5 seconds 0.0.0.0:3307->3306/tcp great_hawking 위 코드 처럼 디렉토리를 미리 생성하여 그 디렉토리에 empty.txt를 작성한 후-v 옵션을 통해 실행시키니 강의의 흐름과 달리디렉토리에 mariadb 관련 파일과 empty.txt 가 모두 존재하여 문의 드렸습니다(개인 프로젝트 중 추가적인 공부 목적으로 이 강의를 듣고 있어서 mysql 대신 mariadb를 사용하였습니다)
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
git action run command timeout
인스턴스 생성시 전부 프리티어로 생성을 했었는데git action run command timeout 발생했습니다혹시나 다른분들도 이런상황이라면aws ec2 메모리 용량 증설에 대해서 검색해보세요15분이 기다려도 안되던데 바로 적용이 되네요
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
섹션9 docker compose 주요 명령 익히기
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 강사님. 항상 좋은 강의 잘 듣고 있습니다.강의에서 docker-compose 작성해서 테스트하는 방법을 배웠습니다. version: "3"services: db: image: mysql:5.7 restart: always volumes: - ./mysqldata:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=funcoding - MYSQL_DATABASE=fundb ports: - "3306":"3306" 이런식의 docker-compose.yml을 작성을 했고, 볼륨 부분 설명중에 mysqldata 볼륨을 생성한 적이 없지만이 docker-compose를 up하게 되면 실행되면서 /var/lib/mysql -> ./mysqldata 로 생성을 해준다고 설명을 해주신 것까진 이해가 됩니다. 앞선 강의에서도 -v 옵션을 통해서 배웠구요. 여기서 제가 궁금한건... 음.. 일단, volumes를 작성할 때 순서는 hostPC의 볼륨:docker container 내의 볼륨 순서로 되는 것으로 이해를 했구요, 이거는 -v 옵션도 마찬가지인거일 테구요.그렇다면, 방향은 어떻게 설정이 되는건가요? 지금같은 경우엔 mysqldata볼륨이 없어서 오른쪽에서 왼쪽으로 이동을 해준건 이해를 했습니다. 하지만, 처음 저희가 /home/ubuntu/2021_DEV_HTML 에서 /usr/local/apahce2/htdocs 로 파일을 옮겨줄 때에는 둘 다 볼륨이 있는 상태였었는데 호스트pc에서 컨테이너 경로로 복사를 해줬습니다. 그래서 좀 혼돈이 오는 것 같습니다. 볼륨 옵션을 사용할 때의 복사의 from 과 to는 어떻게 설정이 되는 것인지 궁금합니다. 감사합니다.