묻고 답해요
139만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결AWS로 구축하는 MSA와 컨테이너 오케스트레이션
lambda 인증
토큰을 설정해 접속하는거에서 헤더를 넣어서 요청을 보내면 500에러가 뜹니다 node.js20버전으로 설정했는데 그게문제일까요? 그래서 요렇게 바꿔서 해봤는데도 안되요ㅜㅜexports.handler = async (event) => { // 요청의 authorization 헤더를 받아옴 const rawToken = event.headers?.authorization; // 미리 정의된 토큰 값 const token = "userToken123"; // 토큰 유효성 검사 if (rawToken === token) { // 인증 성공: 올바른 HTTP 응답 형식으로 반환 return { statusCode: 200, body: JSON.stringify({ isAuthorized: true }) }; } else { // 인증 실패: 401 Unauthorized 응답 return { statusCode: 401, body: JSON.stringify({ message: "Unauthorized" }) }; } }; 권한부여자 빼면 접속 잘됩니다
-
미해결개발자를 위한 쉬운 도커
docker image ls 명령어 관련
PowerShell과 Git Bash에서 실행시켜봤는데 저 경로에 접속을 못하는 것 같은 에러가 나는데 왜그럴까요...
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
배포 관련 질문
안녕하세요. 일프로님 질문이 있습니다. 1. Blue Green 배포시 가장 대표적인 단점이 서버 리소스(CPU, Memory)를 2배로 사용하는 것으로 알려져 있습니다. 여기서 제가 이해한바로는 cpu는 그대로고 메모리는 교체하는 짧은 시점에만 2배가 되는것으로 이해했는데 맞을까요? 그리고 이 문제가 중요한 이슈인 점은 blue green 배포를 사용하면 항상 워커 노드들에는 여유분의 메모리를 상비해둬야해서일까요??2.혹시 애플리케이션 기동 중 문제(ex yaml 파일 오류)가 발생하면 어떻게하나요? 예를 들어서 Blue Green 배포시, 기존 blue에서 green으로 교체하려하는데 green에 속한 pod들이 기동에 실패해버리고 green 버전으로 트래픽이 옮겨지면 결국 서비스를 이용 못할거 같습니다. rolling도 마찬가지입니다. 감사합니다
-
미해결개발자를 위한 쉬운 도커
docker volume 관련 질문
안녕하세요 도커 volume 관련해서 질문드립니다.저희가 수업에서는 db에 있는 data들을 volume에 연결하여 사용하였잖아요.근데 예를들어 nodejs 백엔드 프레임워크와 mongodb를 사용한다고 했을 때 제가 백엔드 서버에서 db서버로 유저 데이터를 보낸다했을 때 그 보낸 데이터가 제 로컬 피시에 저장이안되고 db자체 서버에 저장되는거같은데 굳이 volume을 왜 사용하는건가요?아 그리고 backend서버에도 volume이 필요할까요?필요하다면 어떨때 보통 volume에 데이터를 저장하나요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
윈도우 환경에서 실행하는데 보이지 않습니다.
안녕하세요 강사님 해당 강의 내용을 따라가는데 제 터미널 환경에서는 volume에 관한 정보를 확인할 수가 없습니다 컨테이너는 정상적으로 실행되고 이제 mysql_data도 생성되는데 안이 비어있더라고요..git bash, powershell, cmd 3개의 환경에서 해봣는데 문제를 해결할 수가 없었습니다...
-
미해결개발자를 위한 쉬운 도커
Git Bash에서 컨테이너 삭제 명령이 실행이 안됩니다.
혹시 왜그런걸까요...?
-
미해결개발자를 위한 쉬운 도커
Git Bash에서 컨테이너 삭제 명령어 실행이 안됩니다...
혹시 어떤 부분이 문제일까요!
-
미해결개발자를 위한 쉬운 도커
강의명 "컨테이너 실행" 부분에 대하여
너무 간소한 질문인데요... 혹시 nginx 컨테이너 만드는 강의가 앞부분에 없었던것 같은데요... 어디에 있는걸까요? 지금 hellongnix 컨테이너의 nginx 이미지 실행하는 부분하고 있습니다!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
JDBCConnectionException 가 납니다.
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 2024-10-09T14:59:40.805Z WARN 1 --- [ main] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: Could not obtain connection to query metadata org.hibernate.exception.JDBCConnectionException: unable to obtain isolated JDBC connection [Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.] [n/a] at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:100) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:58) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final] at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.delegateWork(JdbcIsolationDelegate.java:116) ~[hibernate-core-6.5.3.Final.jar!/:6.5.3.Final]안녕하세요. 강사님. 늘 퀄리티 좋은 강의 감사드립니다. 섹션 6. Docker Compose를 활용해 2개 이상의 컨테이너 관리기에서 스프링부트와 MySQL을 동시에 띄워보는데 위와 같은 예외가 나서 문의드립니다.application.yml에서 url: jdbc:mysql://my-db:3306/mydb로 바꿔도 같은 상황입니다. 이후 계속 시도를 하다가, build.gradle에 있는 jpa관련 의존성을 빼고 도커를 올리니 성공하였습니다. 그리고 다시 도커를 내리고 jpa의존성을 다시 추가하고 도커를 올리니 이제는 redis까지 올려서 운용 중입니다. 하지만 원인이 궁금하여 이렇게 문의 남깁니다. 감사합니다.
-
미해결개발자를 위한 쉬운 도커
layer 관련질문
안녕하세요. 강의를 듣다보니 문득 궁금한게 생겨서 질문올립니다. 저희가 image로 컨테이너를 만들고 container에서 변경사항을 만들고 그걸 commit한다면 기존에 있는 image layer위에 쌓는다고 얘기하셨는데 그렇다면 기존의 image에 있는 index.html파일 안에는 원래 nginx에서 갖고있던 index.html이 있고 그위에 저희가 변경한 index.html이 있는거잖아요 그럼 이걸 run 했을때는 어떻게 되는건가요?밑에 layer부터 순차적으로 run하면서 기존의 index.html을 덮어 쓰는건가요?
-
미해결개발자를 위한 쉬운 도커
이미지 푸시가 안됨
안녕하세요! 매번 강의 잘 듣고있습니다. 다름이 아니라 매번 이미지를 push 할때마다 에러가 떠서 뭐가 문제지하고 며칠 고민하다가 글을 올립니다. 상황은 아래와 같습니다. postgreSQL 컨테이너 강의를 수강중이였고, 강의 12분35초 실습 내용입니다. 그전까지는 실습 진행하는데 문제 없었습니다. 로그인할때 패스워드는 token을 이용해서 하고 있고,토큰은 다음과 같이 설정해두었습니다. M2 pro를 사용하고 있으며, 강의는 회사에서 듣고있는데요(사내망 사용) 사내망이여서 이런 문제가 발생했다고 생각해야할까요? 아니면 어느 부분을 확인해야할까요?
-
해결됨개발자를 위한 쉬운 도커
Could not find or load main class –jar 에러 발생 건
안녕하세요. 현재 아래 빨간색 부분 강의 실습을 진행중에 있습니다. root@873e7cd9bbae:/app# ls build/libs 이렇게 했을 때 아래 처럼 정상적으로 파일이 생성되었습니다.Leafy-0.0.1-SNAPSHOT.jar Leafy-0.0.1-SNAPSHOT-plain.jar 그 다음 아래와 같이 실행 했을 때 Error 가 발생했습니다. 주신 실습 파일 그대로 빌드했습니다. root@873e7cd9bbae:/app# java –jar build/libs/Leafy-0.0.1-SNAPSHOT.jarError: Could not find or load main class –jarCaused by: java.lang.ClassNotFoundException: –jar이경우 어디를 체크해 봐야 하는 건지요?감사합니다.
-
미해결개발자를 위한 쉬운 도커
OS 관련질문
강의를 듣다가 문득 이런 질문이 떠오르더라고요.지금 저희가 만약 하이퍼 바이저 가상화를 사용한다고 하면 지금 제가 현재 쓰고 있는 windows가 host os가 되고 guest OS의 요청들을 hypervisor를 통해서 system call들을 받게 되는거잖아요. 그럼 컨테이너 가상화에서는 제가 쓰고 있는 Windows(OS)는 아예 배제되는건가요?HostOS가 Linux가 기본이라고 하셨는데 그럼 하이퍼바이저 가상화처럼 Linux라는 OS를 Windows가 host OS가 되어서 쓰는건가요? 조금 복잡하네요 ㅠ
-
해결됨개발자를 위한 쉬운 도커
도커
안녕하세요. 데브위키입니다.강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요. 실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다. 질문은 가능한 빠르게 답변 드리겠습니다. 😀감사합니다.
-
해결됨개발자를 위한 쉬운 도커
Dockerfile질문입니다
devcontainer를 통해 vscode에서 개발환경용으로 컨테이너를 만들 수 있다고 이해를 했는데요, 예제의 leafy-frontend 패키지를 보면 leafy-frontend root에 Dockerfile이 있고, .devcontainer 안에도 Dockerfile이 있는데요, .devcontainer 내부의 Dockerfile은 dev container 전용 세팅 Dockerfile인가요 ??
-
미해결쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2
kube-system 에 속하는 비정상 pod 들에 대해 질문이 있습니다.
안녕하세요. pod 몇 개가 정상 실행이 되지 않는 문제가 있어서 로그를 확인했더니 아래와 같은 메세지들이 있었습니다. 혹시 해당 문제에 대해서 짚이는 부분이 있으실까요 ? *v1.ConfigMap을 볼 수 없다는 에러의 이유가 뭘까요? 감사합니다. W1125 00:20:42.253966 1 reflector.go:533] k8s.io/client-go@v0.0.0/tools/cache/reflector.go:231: failed to list *v1.ReplicationController: Get "https://192.168.50.201:6443/api/v1/replicationcontrollers?limit=500&resourceVersion=0": dial tcp 192.168.50.201:6443: connect: connection refused E1125 00:20:42.254002 1 reflector.go:148] k8s.io/client-go@v0.0.0/tools/cache/reflector.go:231: Failed to watch *v1.ReplicationController: failed to list *v1.ReplicationController: Get "https://192 .168.50.201:6443/api/v1/replicationcontrollers?limit=500&resourceVersion=0": dial tcp 192.168.50.201:6443: connect: connection refused W1125 00:20:44.225263 1 reflector.go:533] k8s.io/client-go@v0.0.0/tools/cache/reflector.go:231: failed to list *v1.ConfigMap: Get "https://192.168.50.201:6443/api/v1/namespaces/kube-system/configma ps?fieldSelector=metadata.name%3Dextension-apiserver-authentication&limit=500&resourceVersion=0": dial tcp 192.168.50.201:6443: connect: connection refused E1125 00:20:44.225301 1 reflector.go:148] k8s.io/client-go@v0.0.0/tools/cache/reflector.go:231: Failed to watch *v1.ConfigMap: failed to list *v1.ConfigMap: Get "https://192.168.50.201:6443/api/v1/ namespaces/kube-system/configmaps?fieldSelector=metadata.name%3Dextension-apiserver-authentication&limit=500&resourceVersion=0": dial tcp 192.168.50.201:6443: connect: connection refused
-
해결됨개발자를 위한 쉬운 도커
어떻게 Primary-Standby Replication으로 구성되는지
안녕하세요, 강의에서 구현해주신 Primary-Standby Replication 구조가 어떤 명령어를 통해 구성되는지 궁금해서 여쭤봅니다.실습시에 복붙만 해서 정확히 어떤 명령어가 데이터를 복제해주고 동기화할 수 있는지, standby 쪽에서는 어떻게 읽기만 가능한지 궁금합니다.REPMGR_PRIMARY_HOST 는 Primary로 세팅되고,REPMGR_PARTNER_NODES 는 primary를 제외한 나머지 name:port는 standby로 세팅이 되는게 맞을까요? 추가로, primary-standby 방식에서 primary는 "반드시" 한개여야만 하나요 ? 여러개 일수도 있는지 궁금합니다
-
해결됨개발자를 위한 쉬운 도커
캐싱에 대한 질문이 있습니다.
COPY . . 와 같은 copy 레이어에서, 기존의 내용과 다른 경우 새로운 레이어를 생성한다고 했는데요, 기존의 내용과 다른지 같은지를 판별하려면 해당 명령어를 실행하여 결과를 가져와서 비교를 해봐야 같은지 다른지 알 수 있지 않나요?? 혹은 실행전에 특정 해시값이 존재하고, 그 해시값은 비교하는 형식으로 캐싱이 동작하나요 ? 궁금합니다!
-
해결됨개발자를 위한 쉬운 도커
3030 포트 질문
11분 50초에 3030을 사용하는 포트가 없기 때문에 정상적인 응답이 오지 않는다고 말씀하셨는데요, envnodecolorapp 내부적으로 3000 포트를 사용한다고 명시했기 때문에 응답이 오지 않는게 맞나요? 3030은 왜 사용이 불가한지 이해가 잘 가지 않습니다
-
해결됨개발자를 위한 쉬운 도커
nginx port 질문입니다
4분 58초 쯤에 nginx는 80 포트를 사용한다고 말씀하셨는데, 기본적으로 nginx는 80 포트를 사용하는건가요?docker container inspect 시에 portBindings 앞의 80/tcp 중 80이 포트를 의미하는지도 궁금합니다