묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨
젠킨스와 도커를 사용해서 배포할 때
인터넷에서 조사한 대로 하다가 에러를 만났는데 해결전에 프리티어 기간이 끝나서 결국 실습으로 해결하지 못해서 질문드립니다 ㅠㅠ 제가 진행한게 맞는지 이해한게 맞는지도 독학으로 하다보니 잘 모르겠네요...진행한 순서 : EC2 리눅스 생성EC2 시간 설정과 프로젝트에서 사용할 환경변수 설정git 설치 sudo yum install git도커 다운 sudo yum install docker도커 시작 sudo systemctl start docker도커로 자바 다운 docker pull openjdk:11도커로 젠킨스 이미지 다운로드 docker pull jenkins/jenkins:jdk11다운로드 이미지 조회 docker images젠킨스 이미지를 컨테이너로 실행 ocker run -d -p 8080:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -u root jenkins/jenkins:jdk11젠킨스에서 가입젠킨스에서 시간 설정젠킨스에서 사용할 플로그인 다운받아서 플러그인 올리기로 등록젠킨스 디렉토리 생성 sudo mkdir -p /home/jenkins/.sshSSH 권한 부여 sudo chmod 700 /home/jenkins/.sshSSH key 생성 sudo ssh-keygen -t rsa키 파일 설정 구간 /home/jenkins/.ssh/id_rsa비밀번호 없이 진행할 수 있도록 jenkins ALL=(ALL) NOPASSWD: ALLssh 퍼블릭을 복사해서 개발서버(authorized_keys)에 복사git에서 프로젝트의 레포지토리의 설정에서 Deploy keys에 ssh 퍼블릭을 넣음웹훅 설정 : 젠킨스가 설치된 서버 :포트/github-webhook/Git Token 발급Credential 등록 Kind : SSH Username with private keyUsername : 깃허브 아이디(닉네임)password : git token ID : 원하는 값 설정(아무거나)private key : ssh private 넣기Publish Over SSH 설정 name : 본인이 사용하고자하는 이름HostName : EC2 퍼블릭 ipusername : 리눅스니 ec2-userdirectory : 인스턴스 디렉토리`/home/ec2-user`여기서 Test Configurations을 누르면 에러발생여기서부터 막혀서 진행이 안됐는데 다음꺼는 조사한 거로 정리한건데 맞는지 확인을 위해 올립니다.Dockerfile 작성 FROM openjdk:11-jre-slim-buster ARG JAR_FILE=build/libs/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] 젠킨스 item 생성 :파이프라인 파이프라인 설정파이프라인 충돌 방지 옵션 체크스크립트 작성pipeline { agent any stages { stage('Checkout') { steps { git branch: '원하는 브랜치명', url: '본인의 깃 레파지토리 URL(.git으로 끝나는링크)' } } stage('Build') { steps { sh './gradlew build' } } stage('Dockerize') { steps { sh ''' docker stop my_container_name || true docker rm my_container_name || true docker rmi my_image_name || true docker build -t my_image_name . ''' } } stage('Deploy') { steps { sh 'docker run -d --name my_container_name -p 8080:8080 my_image_name' } } } }도커 허브에 회원가입도커 로그인젠킨스 build 부분 수정./gradlew clean build echo " Execute shell start" # 도커 빌드와 개시 삭제 sudo docker build --no-cache -t cova1256/dev . # 기존 서버에 있는 컨테이너 중지 sudo docker stop spring-container || true #기존 서버에 있는 컨테이너 삭제 sudo docker rm -f spring-container || true # 도커 로그인 sudo docker login -u cova1256 -p password 입력 # 도커 이미지 태그 설정 및 태그가 없다면 오류가 발생해도 넘어가도록 true 처리 sudo docker image tag dev cova1256/dev || true # 도커 허브에 나의 레포지토리에 도커 푸시 sudo docker push cova1256/dev # 푸시 후 빌드한 이미지 삭제 sudo docker rmi -f cova1256/dev || true echo " Execute shell end"빌드 후 조치echo " 빌드 후 조치 start" # 기존에 있는 이미지를 삭제합니다. sudo docker rmi -f cova1256/dev || true # 기존에 있는 컨테이너를 중지합니다. sudo docker stop spring-container || true # 기존에 있는 컨테이너를 삭제합니다. sudo docker rm -f spring-container || true # 컨테이너를 설치하고 실행합니다. sudo docker run -d -p 8080:8080 --name spring-container cova1256/dev # none인 이미지 삭제 sudo docker rmi $(docker images -q -f dangling=true) echo " 빌드 후 조치 end" 질문 1 : 제가 진행했던 진행하려고 정리하는 방식이 맞나요?질문 2 : 저는 현재 EC2 외부에서 환경변수를 사용하는 방법을 사용했는데 Docker에서 외부 설정 파일 주입할 수도 있다고 하던데 Docker을 사용할 때는 후자의 방법을 선택해야 하나요?질문 3 : 저 에러는 어떻게 고칠 수 있을 까요? 찾아보니 권한을 줘야한다고 해서 주었고 git이나 젠킨스에 모두 넣었는데...
-
해결됨쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
2-1 배포를 통해 확인하는 파드 생성 질문
pod 생성 실습 질문입니다.처음에 nginx pod를 생성하고 나서 kubectl get pod로 파드를 확인하잖아요?아무리 기다려도 pod가 생성이 안된다고 뜹니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
admin form에서 앞선 필드 선택 후 다른 필드 select widget 구성하는 방법
진석님 안녕하세요! 현재 forms.py에서 admin form 커스터마이징 해서 사용하고있습니다. A라는 모델에 group / code 필드가 있고, group : code = 1 : N 관계입니다.(FK처리는 안해놓은 상태입니다.) group과 code 모두 select widget으로 구성해놨는데, code 필드의 구성을 group 선택할 때 마다 다르게 지정하고싶습니다. 혹 구글에 검색할 수 있는 키워드라도 알 수 있을까요? 좋은 강의 제공해주셔서 프로젝트 순항중에 있습니다. 언제나 감사합니다 :)
-
해결됨쥬쥬와 함께 하루만에 끝내는 스프링 테스트
블로그 포스팅 관련 문의
강사님 안녕하세요. 강의 내용이 좋아서 그런데 블로그에 내용 간단하게 정리해서 포스팅 해도 될까요..?출처 꼭 남기겠습니다
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
return false 대신 try catch
function TokenAPI(phNumber){ try { checkPhoneState(phNumber); //휴대폰 상태 점검 } catch (error) { console.log(error); } const token = createToken(); //토큰발급 sendToken(phNumber,token); //휴대폰에 토큰 발송 } function checkPhoneState(phNumber){ if(phNumber.length != 11){ throw new Error("올바르지 않은 번호입니다."); } else if(isNaN(phNumber) != false){ throw new Error("올바르지 않은 번호입니다."); } } function createToken(){ return String(Math.floor(Math.random() * 1000000)).padStart(6,"0"); } function sendToken(phNumber,token){ console.log(phNumber + "번호로 인증번호 " + token + "이 전송되었습니다."); } 이런식으로 try catch 써도 되나요?
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
useState는 필수일까요?
안녕하세요. useState()를 사용하지 않고,단지 data로 받아서data.map(suggestion) => ( ... )이렇게 처리해도 되는지 궁금합니다.컴포넌트의 return 내부에서는 상태가 변경될 일이 없을 것 같아서 말입니다.
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
kustomize metallb 업그레이드 오류 질문
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://www.inflearn.com/questions/992407/comment/281901)6. ARM 계열의 m1 , m2 계열은 VirtualBox를 통한 구성이 원할하지 않고, 실습 환경의 다변화는 추후 대처하기 어려워서 현재 과정에서는 지원하지 않습니다. (https://www.inflearn.com/questions/915529)[질문 하기]안녕하세요 좋은강의 잘 듣고 있습니다.현재 9.5 kustomize 실습을 하는데 metallb를 업그레이드 하는 부분에서 이러한 오류가 나면서 설치가 안되고있습니다.forbidden이라 뜨면서 생성할수 없다고 뜨더라구요.검색을 해봐도 잘 안나와서 이렇게 질문해봅니다.....
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
VDI 환경에서의 실습
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 전 답변]1. 강의에서 다룬 내용과 관련된 질문인가요? [예]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예]3. 질문 잘하기 법을 읽어보셨나요? [예](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. (https://www.inflearn.com/questions/992407/comment/281901)6. ARM 계열의 m1 , m2 계열은 VirtualBox를 통한 구성이 원할하지 않고, 실습 환경의 다변화는 추후 대처하기 어려워서 현재 과정에서는 지원하지 않습니다. (https://www.inflearn.com/questions/915529)[질문 하기] 회사에서도 실습을 하고 집에서도 실습을 하기 위해서 회사에서 제공하는 VDI 환경에서 실습을 진행하려고 시도 중입니다.집에서 제 컴퓨터로 할 떈 됐었는데 회사 VDI를 연결해서 하니 cmd 창에서 cd 명령어도 먹히지 않고 파일 탐색기로 경로를 찾으려해도 나오지 않습니다. vagrant는 설치가 되어 버전 확인까지 완료되었습니다.이런 경우 실습을 할 수 있는 방법이 없을까요?
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
서버 운영 관련 질문 드립니다.(Unable to retirve...)
59강 MariaDB 컨테이너를 새로 추가하려는 과정에서 원활하게 작동하지 않아 기다리던 중 해당 오류들이 발생한 상황입니다. 부여받은 IP 주소로 그냥 접속했을 때도 구현한 페이지가 나오지 않고 로딩만 계속 되다가 응답 시간이 너무 오래걸린다는 페이지가 뜹니다. docker cache도 삭제해보고, 서버도 restart 해봤는데 동일한 증상이 지속되고 있어 강의 진도가 못나가고 있는 상황입니다 ㅠㅠ 코드를 따로 수정한 것은 없어서 서버 운영에 있어 오류가 발생한 것 같은데 도움 주시면 감사하겠습니다!
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
수업전부 다 듣고 나서 질문이 생겼습니다!
virtual box랑 공식문서를 통해서만 진행했을때 오류 때문에 힘들었는데 수업에서 vagrant/terminus 랑 제공해주신 자료덕에 ( SSH private key 지연 문제는 있었지만 .. )성공할 수 있었습니다! 조금 더 활용해 보고 싶어서 시도하다 질문 드립니다. 강의에서는 로컬에서 마스터 노드 , 워커 노드 2개를 한 컴퓨터 내에서 만들었는데 , 혹시 이걸 a 컴퓨터에서는 마스터 노드를 b 컴퓨터에서는 워커노드만 존재하도록 분리할 수 있을까요?? aws, gcp 같은 크동일 네트워크 대역. 가상환경으로만 진행했을때 가능한 지 궁금합니다!++ 수업내용과는 살짝 벗어나긴 했지만 관련해서 같은 네트워크 대역으로 연결할 때ingress , ingress controller , 스케쥴러 ? 들을 통해서 연결할 수 있는지 질문드립니다!( 구글링하다 알게된 개념들이라 정확하지 않을 수 있을것 같습니다 )
-
해결됨AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
ecs deploy 용량 공급자
용량 공급자와 같은 설정에 대해서 질문이 있습니다기존의 fargate로 배포해놓은 ecs 서비스에 용량 공급자 설정을 fargate_spot으로 변경하여 서비스 업데이트 한 후,강사님께서 짜주신 ecs git action을 통해 배포하면 fargate spot이 적용이 될까요?
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
kubectl run 관련 문제
저번 실습 후, 복습 과정 중에 다시 테스트를 하려고 하니까 이런 오류가 발생합니다.. 저번 실습에서는 service type 변경하고 kubectl get services 에서 확인한 포트번호를 붙여서 웹 브라우저에 접속 시엔 잘 들어가지는데, 명령어가 안먹히네요!
-
해결됨풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
CMD, ENTRYPOINT 관련 문의입니다..
안녕하세요 강사님.Dockerfile 작성을 위한 주요명령 익히기4 의 10분 10초 처럼 Cmd의 값이 뒤에 붙지않고 null로 뜨는데,, 로그를 봤을때는 hello /bin/sh hi 로 Cmd 인자가 정상적으로 붙습니다. Dockerfile 은 정상적으로 작성했습니다. 혹시 제가 놓친부분이 또 있을까요? 몇번 강의돌려도 null로 뜨는건 똑같아서..
-
해결됨그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
livenessProbe 관련하여 질문이 있습니다.
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다![질문 하기]안녕하세요 강사님! 양질의 강의 정말 잘 듣고 있습니다!바로 본론으로 넘어가 livenessProbe 관련하여 질문이 있습니다.[질문]initialDelaySeconds와 periodSeconds가 함께 있으면 initialDelaySeconds시간이 지나고, periodSeconds 시간이 추가적으로 지나고 난 뒤 첫번째 Liveness Probe가 실행되는 것이 맞을까요? 제가 실제로 해당 코드에서 initialDelaySeconds: 10를 주석 처리하지 않는 경우 첫번째 검사까지 20초가 걸렸고, 만약 initialDelaySeconds: 10를 주석처리하는 경우 첫번째 검사까지 10초가 걸렸습니다. 이에 여러 래퍼런스를 찾아보니 initialDelaySeconds가 끝나는 즉시 첫번째 probe가 수행되어야 한다고 하는데 왜 첫번째 실패까지 20초가 걸리는지 의문이 들어 질문 남깁니다. 감사합니다! 😀😀
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
css 회원가입 실습 질문있습니다!
안녕하세요!강의 수강 시작하고 지금 싸이월드 실습 막 시작한 학생입니다.다름이 아니라 회원가입 부분 실습 마지막 몇 부분을 남기고 막혀서모범코드(?) 같은걸 확인하고 싶은데, 학습자료 부분에가도 싸이월드 코드랑피그마 링크만 안내되어있고 회원가입코드는 안보여서요!일단 이렇게 이미지로 질문을 드려봅니다.남성/여성 라디오버튼을 크기맞추고 가운데정렬까지 했는데 텍스트가 이렇게 세로로 정렬되어 버립니다. 체크박스버튼은 어떻게 손을봐야 할지 모르겠습니다 ㅜ
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.
comment 클래스를 정의하고나서python manage.py makemigrations instagram 명령어를 실행하고 나니 default 값을 지정해주라는 메시지가 나왔습니다.구글링을 통해 default 값을 지정해 주었더니 옵션값은 하나만 지정해 주어야 한다는 error 메시지가 출력 되었습니다.(참고한 블로그글 은 https://terrorjang.tistory.com/entry/Django-It-is-impossible-to-add-the-field-createdat-with-autonowaddTrue#google_vignette이곳 입니다.) 어떻게 해결해야 할지 몰라서 도움을 요청합니다.
-
미해결초보를 위한 도커 안내서
app.js 실행 시 http 모듈 관련 이슈
app.js 실행 시 http 모듈 못찾음따로 모듈 다운했지만 마찬가지(package.json 내에는 존재) nvm 이용해 npm, node 버전 최신으로 업그레이드node_module, package-lock 삭제 후 다시 npm install 진행으로 개선
-
해결됨풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
docker rmi 관련 문의입니다.
안녕하세요 선생님.docker 주요 명령 익히기6(컨테이너 다루는 다양한 옵션) 8분:25초 에서 해당 이미지를 제하려고하면 하기와 같은 오류가 뜨면서 삭제가 안되는데, 조치할수있는 사항이 있을까요?.. ubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker system dfTYPE TOTAL ACTIVE SIZE RECLAIMABLEImages 4 4 305.5MB 0B (0%)Containers 11 1 28B 26B (92%)Local Volumes 0 0 0B 0BBuild Cache 0 0 0B 0Bubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEubuntu latest b6548eacb063 12 days ago 77.8MBhttpd alpine 489db2792d7f 13 days ago 59.3MBhttpd latest a6ca7b52a415 3 weeks ago 168MBhello-world latest 9c7a54a9a43c 7 months ago 13.3kBubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ docker rmi httpd:latestError response from daemon: conflict: unable to remove repository reference "httpd:latest" (must force) - container 919738d198d7 is using its referenced image a6ca7b52a415ubuntu@ip-172-31-38-226:~/2021_DEV_HTML$ 감사합니다..
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
Django allauth를 사용한 소셜 로그인 시 에러
안녕하세요. 강의 잘 듣고 있습니다 :)강의 내용과는 상관없지만, 개인 프로젝트에서 소셜로그인을 사용할 일이 있어 테스트해보고 있습니다.https://egg-money.tistory.com/117이 글을 참고하여 구현했는데 구글 로그인 선택 후 계정 선택 화면을 넘어간 후에 아래와 같은 상황이 발생합니다.admin 페이지를 확인해보니 user에 정보가 저장되지 않았습니다. 이에 대한 해결 방법이 있을까요?pip freeze를 통해 출력한 버전은 다음과 같습니다. asgiref==3.7.2 asttokens==2.4.1 cachetools==5.3.2 certifi==2023.11.17 cffi==1.16.0 charset-normalizer==3.3.2 colorama==0.4.6 contourpy==1.2.0 cryptography==41.0.7 cycler==0.12.1 decorator==5.1.1 defusedxml==0.7.1 dj-rest-auth==5.0.2 Django==5.0 django-allauth==0.58.2 django-cors-headers==4.3.1 django-debug-toolbar==4.2.0 django-dotenv==1.4.2 django-pydenticon==0.2 djangorestframework==3.14.0 djangorestframework-simplejwt==5.3.1 et-xmlfile==1.1.0 executing==2.0.1 fonttools==4.46.0 google-auth==2.25.1 google-auth-oauthlib==1.1.0 gspread==5.12.2 httplib2==0.22.0 idna==3.6 ipython==8.18.1 jedi==0.19.1 joblib==1.3.2 kiwisolver==1.4.5 matplotlib==3.8.2 matplotlib-inline==0.1.6 numpy==1.26.2 oauth2client==4.1.3 oauthlib==3.2.2 openpyxl==3.1.2 packaging==23.2 pandas==2.1.3 parso==0.8.3 Pillow==10.1.0 prompt-toolkit==3.0.43 pure-eval==0.2.2 pyasn1==0.5.1 pyasn1-modules==0.3.0 pycparser==2.21 pydenticon==0.3.1 Pygments==2.17.2 PyJWT==2.8.0 pyparsing==3.1.1 PyQt5==5.15.10 PyQt5-Qt5==5.15.2 PyQt5-sip==12.13.0 python-dateutil==2.8.2 python3-openid==3.2.0 pytz==2023.3.post1 requests==2.31.0 requests-oauthlib==1.3.1 rsa==4.9 scikit-learn==1.3.2 scipy==1.11.4 six==1.16.0 sqlparse==0.4.4 stack-data==0.6.3 threadpoolctl==3.2.0 traitlets==5.14.0 tzdata==2023.3 urllib3==2.1.0 wcwidth==0.2.12
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
안녕하세요 강의 코드에 대해 질문이 있습니다.
안녕하세요 강의를 만족하며 보고있습니다.제가 강의를 수강하면서 모르는 부분만 보거나, 필요한 내용들을 그때마다 찾아서 공부하고 있습니다.하지만 강의가 차례로, 순서대로 해야만 학습 가능한 부분들이있어 공부 하기가 어려운 점이 많습니다. 또 전체적인 코드로 한눈에 흐름을 파악하여 해당 강의 내용을 보고 싶을 때도 많은데, 차례로 강의를 따라가야지만 전체를 볼 수 있기 때문에 어렵습니다.그래서 세션을 공부하기 위한 베이스 코드나, 강의를 하고 난 완료된 코드를 받고 싶은데 부탁드리겠습니다.감사합니다.