묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
3211 app소스 경로
3211 item만들고 설정에서 경로는 모두 제 repository를 했습니다.jenkinfile내용을 보면 앱소스 github도 제 경로로 바꿨습니다.https://github.com/odark/kubernetes-anotherclass-api-tester.git// App용 Github - Api-Tester App 소스코드를 Fork 하신 분이라고 jenkinsfile에는 있는데 이것만fork할게아니라 3.0.0브랜치도 fork후에 받아서 별도로 push해야하는거 아닌가요? 그리고 소스 cicd서버에 체크아웃후 파일을 내려받던데 그 소스가 어느시점에 사라집니다. 왜 내려받은 소스코드는 사라지고 class파일과 jar파일만 남는가요?
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
어떻게 파일을 읽나요?
postgresql:filepath: "/usr/src/myapp/datasource/postgresql-info.yaml"이 경로를 application.yaml에 설정해놨고이 위치에 yaml파일을 읽어서 driver class name이나 url을 읽어서 properties에 넣는 소스인데...저 filepath에 잇는 파일은 존재하지 않는데 어떻게 y.load(yamlFile) 읽어서 properties에 셋팅을 하는건지 몰겠네요?applicaiton-local.yaml에는 그정보가 있긴하지만 소스는 filepath에있는 yaml파일을 읽도록 되어잇어서요...
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
도커 컨테이너 안에서 개발
제가 시간이 없어서 강의자료만 보고 공부해서 영상에서는 설명했을지도 모르지만 일단 질문드립니다. 스프링부트 실습 영상에선 프로젝트 개발은 호스트에서 하고, Dockerfile과 jar파일을 이용해서 실행하는데이 경우 개발한 호스트의 jdk와 Dockerfile에서 지정한 jdk 이미지가 서로 버전이 다르다거나 하면 문제가 생길 수 있을거같다는 생각이 들었습니다. 그래서 아예 프로젝트 개발을 jdk 이미지로 만든 컨테이너 내에서 하는게 좋겠다는 생각이 들었는데혹시 실무에서도 실제로 컨테이너 내에서 개발하는 방식을 사용하는지 궁금합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
이클립스에 해봤는데요
해당 github에 있는거 fork한후에이클립스에서 생성해보면 아래처럼 뭔가 gradle프로젝트로 인식을 못하는 것 같습니다.dependency도 제대로 못 가져오고...그냥 강사님이 알려주신 프로젝트 생성해서 이클립스에서 하면 잘되는데..git에서 가져와서 생성한 플젝만큼은 아예 되질 않네요 ㅠㅠproject우클릭 > gradle > refresh gradle project도 안먹히고요... gradle project로 생성했는데도 git에서 땡겨온 소스를 gradle project로 인식을 못합니다.아래 클릭해서 영상봐주세요gradle project보다시피 프로젝트 생성은 됐는데 말이죠 ㅠㅠ
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
ECR 푸시명령 login 400 Bad Request 에러
안녕하세요! 강의를 따라 학습중인데 ECR를 푸시 명령 1번째 복사해서 붙여넣고 실행하면 다음과 같은 에러 메시지가 발생합니다Error response from daemon: login attempt to https://(숫자).dkr.ecr.ap-northeast-2.amazonaws.com/v2/ failed with status: 400 Bad Request 해당 링크를 접속하면 로그인하라 발생하는데 AWS CLI로 액세스 키 등록도 정상 실행 완료되었는데 무엇이 문제인지 모르겠습니다
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
DOCKER로 MYSQL 실행하기 -3
윈도우 환경에서 wls을 이용하여 docker를 돌리고 있습니다. docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=admin1234 -v /mnt/c/users/lucig/Downloads/docker-mysql/mydata:/var/lib/mysql mysql 2876a8df0041c8cfefdde95d874bf0d87182d3320a1ee8fa417b41128cd9925e위에처럼 컨테이너가 뜬 이후에 exec -it로 접속하려고하면 접속이 안되서 로그를 확인해보니 docker logs -f 2876 2025-04-17 06:16:09+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 9.3.0-1.el9 started. 2025-04-17 06:16:09+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' 2025-04-17 06:16:09+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 9.3.0-1.el9 started. 2025-04-17 06:16:10+00:00 [Note] [Entrypoint]: Initializing database files 2025-04-17T06:16:10.096316Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start. 2025-04-17T06:16:10.097629Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 9.3.0) initializing of server in progress as process 80 2025-04-17T06:16:10.109461Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive 2025-04-17T06:16:10.127422Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2025-04-17T06:16:11.839040Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. mysqld: Cannot change permissions of the file 'ca.pem' (OS errno 1 - Operation not permitted) 2025-04-17T06:16:14.379413Z 0 [ERROR] [MY-010295] [Server] Could not set file permission for ca.pem 2025-04-17T06:16:14.379482Z 0 [ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it. 2025-04-17T06:16:14.379504Z 0 [ERROR] [MY-010119] [Server] Aborting 2025-04-17T06:16:16.112226Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end.이렇게 나오는데 가장 쉬운 방법은 어떤것이있을까요?클로드는 아래처럼 답변을 주더라고요 2. 도커 볼륨 사용 Windows 경로를 직접 마운트하는 대신 도커 볼륨을 사용하는 것이 더 안정적입니다: bash# 도커 볼륨 생성 docker volume create mysql-data # 볼륨을 사용하여 MySQL 컨테이너 실행 docker run -d -p 3306:3306 --name mysql \ -e MYSQL_ROOT_PASSWORD=admin1234 \ -v mysql-data:/var/lib/mysql \ mysql도커 볼륨을 사용해도 새로생성한 컨테이너가 데이터를 그대로 사용할 수 있는걸까요?
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
cni 구조 설명시 헷갈린점
calico설명하실때 cni에서 overlay network가 iptables랑 연결이 되고 이후 서버로 가야 하는데라고 말씀하실때가 VM을 말씀하시나요?아니면 호스트 PC를 얘기하시는걸까요?왜 헷갈리냐면 여기에 중간에 virtualBox의 가상네트워크가 또 있다고 해서요... iptables까지 연결된상태에서는 이건 vm의 os레벨의 영역이니까 vm자체 eth까지는 연결된게 아닌가 해서요..그래서 그림 그리신 가상의 네트워크는 vm과 호스트 PC간의 네트워크를 말하는거겠죠?
-
미해결쿠버네티스 어나더 클래스-Sprint3 (#실무핵심 #Docker #Nginx #Minio #Longhorn)
술루션 엔지니어란 무엇인지요?
강의중간에 솔루션 엔지니어에게 기술지원을 받아서 kubernetes 위에 앱을 띄우고 배포하는 부분을 추가로 구축을 해준다음 매뉴얼을 만들어 운영팀에게 인수인계 하는 역할을 강사님경우 하신다고 했는데 여기에서 솔루션 엔지니어에게 무슨 기술지원을 받는다는건가요? 무슨 솔루션을 말씀하시는걸가요? 이해가 안되어서 질문올려봅니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
도커 볼륨을 사용할때 디렉토리 절대경로
안녕하세요 ! 강의 잘보고 있습니다.docker 볼륨을 호스트 컴퓨터에 저장할때 강사님은Documents/develop 라는 폴더 안에 저장하시는데 일반적으로는 어디에 도커 볼륨 폴더를 저장하는지가 궁금합니다.
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
도커는 어떤 실무 환경에서 쓰이나요?
안녕하세요! 좋은 강의 감사드립니다.덕분에 도커를 쉽게 배울 수 있었고, 실무에 어떻게 활용될 수 있을지 궁금증이 생겨 질문드립니다.도커는 협업 환경에서 자주 쓰이나요?저는 아직 협업에서 도커를 직접 사용해본 경험은 없는데,만약 실제 협업 중 도커를 활용하게 된다면,배포 시 에러가 발생했을 때 디버깅이 오히려 어려울 수도 있지 않을까? 하는 고민이 있습니다.그래서 실무에서는 어떤 상황에서 도커를 자주 사용하는지 궁금합니다.도커는 왜 MSA 환경에 적합하다는 이야기가 많을까요?찾아보니 도커가 MSA(Microservices Architecture)에 잘 맞는다는 자료들을 종종 보았는데요,아마도 MSA는 여러 개의 서비스를 따로 운영해야 하다 보니,각 서비스의 환경 셋팅이나 배포가 많아서 그런 걸까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
강사님 Build 구성과 관련한 질문입니다.
예제로 주신 CI/CD 와 관련하여 질문이 있어 문의 드립니다.fork 한 강사님의 repository 에는 yaml 만 존재합니다. (build.graldle 또는 java 소스는 존재하지 않음)현재의 환경에서는 "gradle invoke" 를 통해 어떤 작업을 하는지 이해가 잘 가지 않아서요. 만약 그렇다면 gradle 이 어떤 것을 참조하여 gradle 이 어떤 동작을 질문 드립니다.좋은 강의 감사드립니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
Next.js 관련 질문
안녕하세요! Next.js 관련해서 3000번 포트는 이미 사용 중이라 3001번 포트가 사용 가능하다고 나오더라구요. PS C:\Users\USER\Documents\my-app> npm run dev> my-app@0.1.0 dev> next dev --turbopack⚠ Port 3000 is in use, using available port 3001 instead. ▲ Next.js 15.3.0 (Turbopack)- Local: http://localhost:3001이건 혹시 그 전에 실습한 node 때문인건가요? ps로 조회하면 "node dist/main.js"가 up 상태입니다! 3000번 포트로 next.js 확인하고 싶으면 node 삭제하고 다시 진행해보면 되나요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
dockershim 사용관련문의
쿠버네티스에서는 CRI규격에 맞춰진 dockershim이 있으니까 docker를 그대로 쓸수있다고 답변을 한다고 하셨습니다.그게 1.5버전부터 dockershim이 들어갔구요. 그런데 그림을 보면 cri에 잇는 dockershim은 docker컨테이너와의 연결을 위해 필요한건데강의 그림에서는 1.23이후로 dockershim이 deprecated되면 docker랑 화살표 그려지는 cri구현부부분에 dockershim이 빠지는건데 어떻게 1.24버전부터는 docker 컨테이너 런타임과는 연동을 할수가 없는거 아닌지요? 헷갈리네요
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
런타임측 contribution
구현부는 쿠버네티스 프로젝트에 있는것이고, 이 프로젝트가 오픈소스이니까 각각의 런타임 측에서 docker나 rkt에서쿠버네티스 프로젝트에 소스를 contribution 하는 형태이다.라고 했는데쿠버네티스 프로젝트에 각 런타임쪽에서 소스를 만들어서...쿠버네티스 프로젝트로 기부했다는 말씀이신가요? 이해가 잘~~
-
해결됨AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
ECS 환경에서의 ELB 간헐적 504에러
해당 강의를 보고 사내에서 개발서버 인프라구성을 변경중입니다. 해결되지 않는 이슈가 있어서 질문 드립니다. AWS ECS로 배포진행하며, FARGATE가 아닌 EC2(arm64)로 현재 배포중입니다.로드밸런서(80(443으로 redirect), 443(타겟그룹 전달)) -> 타겟그룹(IP형태의 타겟그룹) -> ECS Task네트워크 모드는 awsvpc를 사용했으며, task는 private subnet에서 nat gateway와 정상적으로 연결됨을 확인하였습니다. 개발서버로 일부 기능만 내부적으로 테스트 중이라, 트래픽이 거의 없고, task의 CPU와 메모리 사용률은 30%이하를 유지중입니다. 대다수의 트래픽이 정상적으로 통과하지만, 특정 API 호출이 아닌 전반적으로 간헐적으로 로드밸런서에서 504 gateway timeout 이 발생합니다. (타겟그룹엔 정상적으로 healthy 상태로 등록되어 있습니다) ex) 해당 기간내에 health-check 요청만 보내도, 일반적으로 잘 되지만 한번씩 헬스체크 요청조차 504 에러가 발생 기본적으로 잘 접속되지만 간헐적으로 발생하기에 네트워크설정쪽인 NACL이나 보안그룹의 문제는 아닐 것이라고 생각됩니다. nat gateway가 1개이긴하지만 트래픽이 매우 적어 충분할 것 같은데 혹시 가용영역별로 배치를 진행해야 하는걸까요?혹시 이와 같은 사례를 경험하셨거나 해결방법에 대해 조언을 구하고자 합니다. 운영에서는 아직 ECS를 적용하지않아 EC2로 배포중인데, 해당 로드밸런서는 모니터링에서 504에러가 발생하지 않은 것으로 확인됩니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
파일복사 윈도우환경 질문
PS C:\Temp\docker-practice> docker build -t my-server .[+] Building 1.7s (6/6) FINISHED docker:desktop-linux => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 121B 0.0s => [internal] load metadata for docker.io/library/ubuntu:latest 1.6s => [internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => [internal] load build context 0.0s => => transferring context: 2B 0.0s => CANCELED [1/2] FROM docker.io/library/ubuntu:latest@sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02 0.0s => => resolve docker.io/library/ubuntu:latest@sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02 0.0s => ERROR [2/2] COPY app.txt /app.txt 0.0s------ > [2/2] COPY app.txt /app.txt:------Dockerfile:3-------------------- 1 | FROM ubuntu 2 | 3 | >>> COPY app.txt /app.txt 4 | 5 | ENTRYPOINT ["/bin/bash", "-c", "sleep 500"] 이런 오류가 뜹니다.그래서 app.txt를 직접 파일에가서 만들면 안뜨긴하는데 맥이랑 환경이 달라서 그런걸까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
ENTRYPOINT 오류
안녕하세요.베이스 이미지 생성할 때 ENETRYPOINT 입력하여도 계속 종료상태로 선생님과 비교해보니 COMMAND 부분이 'jshell'로 나와서 확인했더니 이렇게 조회되었습니다."Entrypoint": null,Cmd": [ "jshell"시도FROM openjdk:17-jdk ENTRYPOINT ["/bin/bash", "-c", "sleep 500"] CMD [ ]CMD [] 입력 후 RUN 실행되었는데,node 컨테이너 내부 들어가서 -v 입력 시 bash-4.4# node -vbash: node: command not found이렇게 조회가 됩니다.. (windows vscode로 하고 있습니다.)
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
docker hub 관련 질문(환경변수 관련)
안녕하세요. 볼륨 마지막 실습 강의 듣고 docker hub 관련해서 궁금한 점이 생겼습니다. 도커허브에서 mongo 설명이 아래처럼 적혀있는데, 실습 시 MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD 입력을 하는 이유는 보안에 대한 환경설정을 따로 하신 것일까요?(보안과 관련된 환경변수 설정은 필수가 아니어도 대부분 하는 편인지 궁금합니다 .. : )) How to use this imageStart a mongo server instance$ docker run --name some-mongo -d mongo:tag
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
App 배포하기 (helm) - 2232 에서 helm자동인식불가
argocd에서 kubeclt배포후 helm배포하기를 해보려는데 git을 선택하면 자동으로 하단에 helm이 선택된다고 하셨는데...저는 제 경로나 강사님 git 경로 모두 해봐도..자동으로 인식이 되질 않네요...ㅠㅠ혹시 이유를 확인볼 방법이 있을까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
프론트와 백 통신
안녕하세요 선생님, 강의 잘 봤습니다.선생님이께서 알려주신대로, 제가 하고 있는 프로젝트를 local환경에서 compose를 통해 성공적으로 띄웠습니다.근데 여기서 궁금한 점이 mysql 이나 redis와 같이 spring boot에 연결하는 건 service 이름을 통해 요청을 하는 반면에, 프론트와 백이 통신할 때는 localhost를 사용해서 통신을 합니다.어떻게 다른 컨테이너에 띄웠는데 localhost로 통신이 되는 지 궁금합니다.(프론트는 vue.js를 node를 이용해서 정적파일로 build 후 nginx 이미지로 만들었습니다.)