안녕하세요! 도커는 처음 접해보는데 강의 정말 잘 듣고 있습니다! 이미 로컬에 DB가 설치가 되어 있는 상태면 강사님께서는 호스트의 DB들을 죽인? 후 포트 매핑을 하셨는데 혹시 호스트 포트 번호를 다르게 매핑 해도 되나요? 예를 들어서 docker -run -p 3307:3306 -d mysql 이런 식이거나 docker -run -p 6380:6379 -d redis 이렇게요!
안녕하세요! 강의 유익하게 듣고 있는 수강생입니다. 컨테이너 가상화 설명에서 궁금증이 생겨 글 남깁니다. (강의 장면 캡쳐가 불가하여 유사 그림으로 대체합니다!!) 도커는 호스트 OS의 커널을 바로 사용한다는 장점이 있다고 이해했습니다. 이때 여기서 호스트 OS가 리눅스라고 명시되어있는데 mac, windows를 사용하는 일반 사용자들도 호스트 os가 리눅스로 적용되는 것일 까요?? 해당 내용을 찾아보니 도커를 사용할 때는 리눅스 커널이 필수적으로 필요해서 가상화된 Linux를 내부적으로 사용한다고 확인했습니다. 이 내용을 리눅스 환경이 아닌경우 도커 내부에 리눅스가 가상화 기술로 적용되어 있다고 이해하는 것이 맞을까요?? 내장되어 있는 것이 맞다면 컨테이너 별로 리눅스가 별도로 포함되는것인지, 도커위에 하나의 리눅스OS를 갖고 있는 것인지 질문드리고 싶습니다! 유익한 강의 정말 감사드립니다 😀
강의를 들으면서 프로젝트로 실습해보다가 궁금한 점이 생겨 질문드립니다! 강의에서는 main 브랜치에 push가 일어나는 것이 트리거가 되는 경우를 설명해주셨습니다. 만약에 main 브랜치 하위에 기능별로 브랜치를 나누어서 feature/login, feature/post 식으로 브랜치가 존재하며 프론트엔드 React 코드, 백엔드 Spring 코드의 별도 구분 없이 각각의 브랜치에 같이 존재한다면 백엔드 코드만 ec2에 deploy 되도록 설정하는 방법이 있을까요?
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] (https://www.inflearn.com/blogs/1719) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://inf.run/Ljaer ) [질문 하기] 안녕하세요. M4 pro 에서 vagrant로 테스트 환경을 설치하려고 했지만 결국은 모두 실패하였습니다. 그래서 기존 OVA 파일로 환경 구성을 하려고 했지만 해당 파일이 intel 용으로 만들어져 있어서 사용하지 못하고 있습니다. arm 용으로 생성된 ova 파일은 없나요?
안녕하세요. CICD강의 잘보고있습니다. [실습] 컨테이너 기반 + 확장성을 고려한 프로젝트에서 많이 쓰는 CI/CD 구축 방법 까지 잘 진행해서 배포까지 완료했습니다. scripts > start-server.sh 에서 질문이 있는데요 docker pull {ECR Repository 주소} /instagram-server:latest 여기서 에러가 나서 정상적인 docker image를 pull받지 못합니다. 제가 작성한 코드입니다. docker pull {EC2소유자}.dkr.ecr.ap-northeast-2.amazonaws.com/github-actions:latest 발생 에러 코드입니다. [stderr]Error response from daemon: Head " https:// {EC2소유자} .dkr.ecr.ap-northeast-2.amazonaws.com/v2/github-actions/manifests/latest ": no basic auth credentials 감사합니다.
강의에서 나오는 forms.py 파일을 만들어서 커스텀폼을 만드니 A user with that username already exists. username 이 이미 존재하는 에러가 계속해서 발생 (다른 수강생분들도 겪은 에러인듯) 장고 기능이 추가된 건지는 몰라도 PasswordChangeView 를 활용함 views.py class AccountUpdateView(PasswordChangeView): form_class = PasswordChangeForm template_name = 'accountapp/update.html' success_url = reverse_lazy('accountapp:detail') 여기서 success_url 이 정적 url 로 pk 파라미터 값을 전달해주지 못하는 문제가 있음 그래서 수정된 코드는 class AccountUpdateView(PasswordChangeView): form_class = PasswordChangeForm template_name = 'accountapp/update.html' def get_success_url(self): return reverse('accountapp:detail', kwargs={'pk': self.request.user.pk}) 2025년 3월 31일 기준 1) 비밀번호 변경 기능의 기본 View,Form 있음 (PasswordChangeView, PasswordChangeForm) 2) 비밀번호 변경 후 hello_world 페이지로 리다이렉트 시킬거면 success_url = 'accountapp:hello_world' 3) 로그인한 계정의 detail 페이지로 이동한다면 마지막 코드 참고
1) 앵커태그로 로그인, 로그아웃 구현하고 기존 로그인 되어있던 상황에서 로그아웃을 진행하니 에러가 발생 (405 에러) 2) 장고의 LogoutView 는 POST 요청만 허용함 ?next={{ request.path }} 는 GET 요청으로 logout 누르면 /logout?next=/account/hello_world/ 로 GET 요청하게됨 따라서, 정상적으로 로그아웃뷰를 사용하려면 1) 로그아웃 링크를 POST 요청으로 보내는 폼으로 변경 2) LogoutView 의 설정을 변경하여 GET 요청도 허용 보안상 2는 권장되지 않는 사항이며, 1의 방법으로 처리 {% else %} <form action="{% url 'accountapp:logout' %}" method="post" style="display: inline;"> {% csrf_token %} <button type="submit" class="btn btn-link" style="text-decoration: none; padding: 0; margin: 0;"> <span>Logout</span> </button> </form> {% endif %} 주요 변경사항 1) 로그아웃 앵커 태그를 form 태그로 변경 2) 폼의 method 를 post 로 지정 3) 이에따라 csrf 토큰 추가 추가로 logout 이후 redirect 경로를 설정해줘야하는데, 이는 pragmatic/settings.py 에서 설정 # Logout Redirect URL LOGOUT_REDIRECT_URL = '/account/hello_world/' 마지막 머물렀던 페이지에서 로그아웃이 되게 하고 싶다면, 커스텀 로그아웃뷰를 만들어야하는데, 보안상 권장되지 않는다고 함. +++ 왜인지는 모르겠으나 로그인도 ?next={{ request.path }} 를 먹지 않아서 pragmatic/settings.py 에서 로그인 리다이렉트 URL 을 추가하여 처리하였음 # Login Redirect URL LOGIN_REDIRECT_URL = '/account/hello_world/' # Logout Redirect URL LOGOUT_REDIRECT_URL = '/account/hello_world/' 이 경우 html 템플릿에서 next 를 사용할 필요 없고 사이트 어디서 로그인하던 /account/hello_world 로 리다이렉트 시킴
파일을 불러오는 중 오류가 발생했습니다. 파일을 찾지 못했습니다. 파일이 존재하지 않거나 읽기 권한이 없습니다. 라고 뜨는데, 파일이 없는 거 아닌가요? 권한은 전부 부여되어있는 상태입니다. 그리고 보니까 이미지 상으로는 diagrams.net 인데 지금은 draw.io 로 바뀌어있더라고요. 이거 관련해서 관리자분이 설정을 따로 해주셔야 하는 거 아닌지... 조심스럽게 확인 요청 드립니다.
저는 windows 10 환경에서 실습 진행하려는데, 초기에 각 repo clone 하는것을 로컬 pc에 해오는게 맞나요? reousrces 설정한 이후에 제 로컬 windows 에서 bootstrap.sh 실행하는게 맞나요? sh자체가 실행할수가 없어서, gitbash 로 실행해봐도 오류가 나네요. windows 기준으로 초기 설정 sh bootstrap.sh 실행을 안내해주시면 감사하겠습니다.
질문 답변을 제공하지만, 강의 비용에는 Q&A는 포함되어 있지 않습니다. 다만 실습이 안되거나, 잘못된 내용의 경우는 알려주시면 가능한 빠르게 조치하겠습니다! [질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] (https://www.inflearn.com/blogs/1719) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 5. vagrant up 에서 발생하는 문제는 주로 호스트 시스템(Windows, MacOS)과 연관된 다양한 조건에 의해 발생합니다. 따라서 이를 모두 제가 파악할 수 없어서 해결이 어렵습니다. vagrant up 으로 진행이 어렵다면 제공해 드리는 가상 머신(VM) 이미지를 import해서 진행하시기 바랍니다. ( https://inf.run/Ljaer ) [질문 하기] k apply -f ./w1-affinity-leader.yaml k apply -f ./deployment-podAffinity.yaml k get po -o wide # w1에만 배포 확인 k apply -f ./w3-affinity-leader.yaml 안녕하세요 현재 위와 같이 실습 중 w3-affinity-leader 가 계속 pending 상태인데 어떻게 해결해야 할지 몰라 질문드립니다. root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# cat w3-affinity-leader.yaml apiVersion: v1 kind: Pod metadata: labels: run: sleepy affinity: leader name: w3-affinity-leader spec: containers: - image: sysnet4admin/sleepy name: sleepy nodeSelector: kubernetes.io/hostname: w3-k8s root@cp-k8s:~/_Lecture_k8s_learning.kit/ch7/7.8# k describe po w3-affinity-leader Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 12s (x2 over 5m29s) default-scheduler 0/4 nodes are available: 1 node(s) had untolerated taint {DB: customer-info}, 1 node(s) had untolerated taint {node-role.kubernetes.io/control-plane: }, 2 node(s) didn't match Pod's node affinity/selector. preemption: 0/4 nodes are available: 4 Preemption is not helpful for scheduling.