묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
컨테이너 실행 명령어관련 질문드립니다.
명령어 관련해서 헷갈리는 부분이 있어 질문드립니다.명령어 "docker run ~" 관련해서 '-p' 옵션을 따로 추가해서 설정하지 않고 실행하면 특정 포트로 publishing이 되지는 않지만 컨테이너가 내부에서 그냥 실행 되고있는건가요??
-
미해결개발자를 위한 쉬운 도커
이미지 레이어 관련 궁금증 질문드립니다!
안녕하세요 궁금증이 생겨 질문드립니다!강의 중 엔진엑스로 만든 이미지가 있는데 index.html이 다른 A가 있고 B가 있다라는 예시가 있었습니다. 이때 아래와 같이 설명해주셨는데요 이미지를 공유해서 사용하는거랑 컨테이너 생성속도랑 어떻게 연관이 있는건지 잘 이해가 가지 않아 질문드립니다.동일한 이미지로 컨테이너를 아주 많이 만들어도 이 이미지로 실행된 모든 컨테이너가 하나의 이미지를 공유해서 읽어옵니다. 실제로 큰 부분을 차지하는 이미지를 하나로 유지할 수 있기 때문에 컨테이너를 생성할 때 속도가 빨라지는 것이죠. 또한 아래와 같이 설명해주셨는데요컨테이너를 만들 때 사용된 이미지에 따라서 이미지의 읽기 전용 레이어 전체를 공유할수도 있고 일부만 공유할 수도 있습니다 이렇게 이미지의 읽기 전용 레이어를 활용하면 컨테이너를 실행할 때 전체 공간을 복사하지 않아도 되기 때문에 컨테이너를 빠르게 실행할 수 있습니다. 그리고 컨테이너가 늘어나면서 사용하는 공간을 최대한 작게 관리할 수 있습니다.엔진엑스 이미지 A가 다운받아져있다 가졍하고 index.html이 다른 이미지 B를 다운 받는다 가정해보겠습니다. 이미지 B를 다운받을때 이미지 A와 레이어가 같은것은 다운받지 않고 레이어가 다른 index.html레이어만 다운받는걸까요? 컨테이너가 늘어나면서 사용하는 공간을 최대한 작게 관리할 수 있다라는게 어떤것인지 잘 이해가 되지 않아 질문드려봅니다 (레이어별로 파일이 나뉘어 있는걸까요)혹시 위와 같은 부분을 실습으로 확인할 수 있는 것이나 공식문서 부분에서 확인할 수 있는게 있다면 같이 부탁드립니다!
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
application 응용과제 1번
startupProbe의 실패기간을 성공기간보다 짧게 가져가기위해서 이렇게 변경해주었을때 위와같은 오류가 발생했습니다.오류결과successThreshold와 failureThreshold를 변경할 수 없다는 거 같습니다.
-
미해결개발자를 위한 쉬운 도커
docker compose 사용시 프론트엔드에서 백엔드 연결
저번에 질문했었던 사람입니다.테스트로 인하여 코드가 계속 변경되어 새로 글 올립니다. 프론트엔드를 nextjs를 사용하고, 백엔드는 nestjs를 사용중입니다.nextjs에서 .env파일에 backend_url을 입력해놓고, nextjs에서 process.env.backend_url 을 통해서 사용중입니다. github 주소 : https://github.com/ababqw123/wedding-app이고,프론트엔드에서 .env파일에 backend 주소는 현재 로컬 테스트로로 작성해서 localhost의 8080 포트를 사용중이고, process.env.NEXT_PUBLIC_SERVER_URL을 통해서 가져오고 있습니다.docker compose에서도 8080포트로 지정을 따로 해주었습니다.docker로 연결했을 때 백엔드 주소를 어떻게 설정해야할지 정확하게 몰라서 문의 드립니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
쿠버네티스는 서버에서 데몬 서비스처럼 동작하는지 궁금합니다
VM 을 전원 재기동 해서 쿠버네티스도 종료되어서 파드들이 다 죽는 것으로 생각했는데, 재기동 후 파드 조회를 해보니 하나씩 Running 상태로 되어가더라구요.쿠버네티스 자체는 서버에서 데몬처럼 동작하고, 쿠버네티스들이 파드를 자동으로 Run 시켜주는 것으로 보이는데 해당 현상에 대한 해석이 맞는지 문의드립니다.감사합니다.
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
모니터링 설치 - Loki-Stack
http://loki-stack.loki-stack:3100url 입력시 저렇게 유효하지않은 url로 뜹니다
-
해결됨개발자를 위한 쉬운 도커
COPY --from=build /app/build/libs/*.jar /app/leafy.jar 명령어 질문
안녕하세요. 백엔드 Dockerfile 내용 보고서 질문이 있습니다. 실제로 실습을 하다 보면 /build/libs에서 이렇게 jar 파일이 두개가 생기는데요. COPY --from=build /app/build/libs/*.jar /app/leafy.jar 이 명령어는 .jar 확장자 파일 모두 leafy.jar이름으로 복사한다는 의미인거 같은데요. 이렇게 2개의 파일이 있거나 또는 2개 이상의 파일이 있을때.. 1) 마지막 파일 기준으로 복사가 되는걸까요? 2) 아니면 두개의 파일이 합쳐져서 leafy.jar로 하나로 복사가 되는걸까요? 두개의 파일이 하나로 합쳐진다면 실행할때 잘 안될거 같은 느낌이 들어서요. 3) 추가적으로 -plain과 그냥 .jar파일 차이점도 궁금하고 왜 2개가 나오는지도 궁금합니다.
-
해결됨개발자를 위한 쉬운 도커
docker compose 사용시 프론트엔드에서 백엔드 연결
프론트엔드를 nextjs를 사용하고, 백엔드는 nestjs를 사용중입니다. nextjs에서 .env파일에 backend_url을 입력해놓고, nextjs에서 process.env.backend_url 을 통해서 사용중입니다. docker compose를 사용하여 백엔드와 프론트엔드를 실행 시키면 같은 docker network에 붙어있고compose의 프론트엔드에 environment에 backend_url을 backend이름으로 적었을 경우backend url이 아닌 현재 url을 불러옵니다. 어디가 문제일까요?
-
해결됨개발자를 위한 쉬운 도커
redis 운영 방법
일단 유익한 강의 감사드립니다 !강의 리마인드 중 갑자기 의문이들어서 질문 드려봅니다.Redis, PostgreSQL 등 db가 서버와 같은 머신에 설치되지않고 따로 별도의 머신에 설치되고 있습니다.대부분의 아키텍쳐가 이런 형상인데 서버랑 분리해서 따로 운영하는 이유가 있을까요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
jenkins 설치 후, 플러그인 설치 시 오류
echo '======== [4] OpenJDK 설치 ========' # yum list --showduplicates java-17-openjdk yum install -y java-17-openjdk echo '======== [5] Gradle 설치 ========' yum -y install wget unzip wget https://services.gradle.org/distributions/gradle-7.6.1-bin.zip -P ~/ unzip -d /opt/gradle ~/gradle-*.zip cat <<EOF |tee /etc/profile.d/gradle.sh export GRADLE_HOME=/opt/gradle/gradle-7.6.1 export PATH=/opt/gradle/gradle-7.6.1/bin:${PATH} EOF chmod +x /etc/profile.d/gradle.sh source /etc/profile.d/gradle.sh echo '======== [6] Git 설치 ========' yum install -y git-2.39.3-1.el8_8 echo '======== [7] Jenkins 설치 ========' wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key yum install -y java-11-openjdk jenkins-2.414.2-1.1 systemctl enable jenkins systemctl start jenkins위 설치 스크립트를 바탕으로 jenkins를 설치 후에, 플러그인을 설치하고 있었는데 위와 같이 몇몇 플러그인이 설치가 되지 않았습니다 ㅠ제가 이 강의하면서 jenkins를 거의 처음 써봐서 이런 경우 어떻게 대처해야할지 잘 모르겠습니다...!추상적으로 여쭤봐 죄송하지만, 혹시 어떤 대처를 하면 될지 알려주시면 감사드리겠습니다.혹시 자바 설치 버젼도 필요하실까봐 올려드립니다ls /usr/lib/jvm/ java-11-openjdk-11.0.18.0.9-0.3.ea.el8.x86_64 jre-11-openjdk-11.0.18.0.9-0.3.ea.el8.x86_64 java-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64 jre-17 jre jre-17-openjdk jre-11 jre-17-openjdk-17.0.6.0.9-0.3.ea.el8.x86_64 jre-11-openjdk jre-openjdk ## java --version openjdk 17.0.6-ea 2023-01-17 LTS OpenJDK Runtime Environment (Red_Hat-17.0.6.0.9-0.3.ea.el8) (build 17.0.6-ea+9-LTS) OpenJDK 64-Bit Server VM (Red_Hat-17.0.6.0.9-0.3.ea.el8) (build 17.0.6-ea+9-LTS, mixed mode, sharing) 젠킨스 로그인 후 dependency 오류 내용Some plugins could not be loaded due to unsatisfied dependencies. Fix these issues and restart Jenkins to re-enable these plugins. Dependency errors: Timestamper (1.26) Plugin is missing: antisamy-markup-formatter (159.v25b_c67cd35fb_) Pipeline: Declarative Extension Points API (2.2150.v4cfd8916915c) Plugin is missing: workflow-cps (3791.va_c0338ea_b_59c) Pipeline Graph Analysis Plugin (216.vfd8b_ece330ca_) Plugin is missing: workflow-cps (3659.v582dc37621d8) Pipeline (596.v8c21c963d92d) Plugin is missing: workflow-cps (2660.vb_c0412dc4e6d) Plugin is missing: pipeline-groovy-lib (593.va_a_fc25d520e9) Pipeline: GitHub Groovy Libraries (42.v0739460cda_c4) Plugin is missing: pipeline-groovy-lib (629.vb_5627b_ee2104) Checks API plugin (2.0.2) Plugin is missing: plugin-util-api (3.3.0) Pipeline: Multibranch (770.v1a_d0708dd1f6) Plugin is missing: workflow-cps (3691.v28b_14c465a_b_b_) Gradle Plugin (2.10) Plugin is missing: workflow-cps (2660.vb_c0412dc4e6d) Bootstrap 5 API Plugin (5.3.2-3) Plugin is missing: font-awesome-api (6.4.2-1) Folders Plugin (6.858.v898218f3609d) Plugin is missing: ionicons-api (56.v1b_1c8c49374e) Some of the above failures also result in additional indirectly dependent plugins not being able to load. Indirectly dependent plugins: JUnit Plugin (1265.v65b_14fa_f12f0) Failed to load: Bootstrap 5 API Plugin (bootstrap5-api 5.3.2-3) Pipeline (596.v8c21c963d92d) Failed to load: Pipeline: Multibranch (workflow-multibranch 770.v1a_d0708dd1f6) Matrix Project Plugin (822.824.v14451b_c0fd42) Failed to load: JUnit Plugin (junit 1265.v65b_14fa_f12f0) Pipeline: REST API Plugin (2.34) Failed to load: Pipeline Graph Analysis Plugin (pipeline-graph-analysis 216.vfd8b_ece330ca_) Workspace Cleanup Plugin (0.45) Failed to load: Matrix Project Plugin (matrix-project 822.824.v14451b_c0fd42)
-
해결됨개발자를 위한 쉬운 도커
leafy 사이트 로그인 에러 문의
안녕하세요. leafy 사이트 로딩까지 하였고 DB 백엔드, 프론트엔드까지 도커실행 완료했어요.. 근데 사이트 로그인이 안되네요 ㅋㅋㅋ id : john123@qmail.compw: password123 이걸 아무리 여러번 쳐도 똑같아요.. 1. 궁금한게 postgre DB를 도커에서 다운받으면 초기 데이터가 들어가있는걸까요?? 이거 로그인이 안되서 postgre DB를 살펴보고 싶은데 docker 실행중인 DB 데이터 확인할수 있는 방법 있을까요?
-
해결됨개발자를 위한 쉬운 도커
JVM 디버거 연결이 실패합니다.
안녕하세요 !우선 좋은 강의 감사드립니다. Remote JVM Debug 연결이 되지 않습니다.Configuration은 다음과 같습니다.LeafyDevContainerLocalDevContainerDebug 위와 같이 설정했는데,Error running 'LocalDevContainerDebug': Unable to open debugger port (localhost:5005): java.net.ConnectException "Connection refused: connect" 해당 에러가 발생합니다.혹시 제가 놓친 게 무엇일까요?
-
해결됨개발자를 위한 쉬운 도커
sudo docker-compose up -d
안녕하세요! 먼저 정말 유익한 강의 감사합니다. 깃허브 오픈소스의 리드미 파일이나블로그에서는 주로 아래와 같은 명령어가 보였습니다.sudo docker-compose up -d그런데 강의에서 보이는 명령어는 docker와 compose 사이에 대쉬('-')가 보이지 않는데요.Docker의 버전이 올라가면서 명령어도 바뀐건가요?
-
해결됨개발자를 위한 쉬운 도커
VSC에 이미 깃허브 로그인 되어 있는 경우 커밋 push 해도 Actions 실행 안되는 케이스
제가 이미 VSC에 깃허브 로그인이 되어있었고커밋 푸시를 했는데도 액션이 실행이 안되었는데,아래 글을 보고 해결했습니다.08-cicd 브랜치 터미널에서 다음 <내용> 칸에 본인에 맞는 값을 채운뒤 실행하면 됩니다.git remote set-url origin https://<personal_access_token>@github.com/<your_username>/leafy.git https://stackoverflow.com/questions/66231282/how-to-add-a-github-personal-access-token-to-visual-studio-code
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
argo- application create > repo와 통신 불가현상
일프로님 바쁜 와중에 질문드립니다.2-1. App 생성 하기 - [+ NEW APP] 내용 입력 후 결과 값이 아래와 같이 나옵니다.REPO 관련 문제 인것 같은데요. 제 설정에 문제가 있을까요 ?~~Unable to create application: application spec for api is invalid: InvalidSpecError: repository not accessible: repositories not accessible: &Repository{Repo: "https://github.com/k8s-1pro/kubernetes-anotherclass-sprint2.git", Type: "", Name: "", Project: ""}: repo client error while testing repository: rpc error: code = Unknown desc = error testing repository connectivity: Get "https://github.com/k8s-1pro/kubernetes-anotherclass-sprint2.git/info/refs?service=git-upload-pack": dial tcp: lookup github.com on 10.96.0.10:53: server misbehaving~~~----~~~argocd@argo-cd-argocd-server-b7cd88d6b-n5dq6:~$ git clone https://github.com/k8s-1pro/kubernetes-anotherclass-sprint2.gitCloning into 'kubernetes-anotherclass-sprint2'...fatal: unable to access 'https://github.com/k8s-1pro/kubernetes-anotherclass-sprint2.git/': Could not resolve host: github.com~~~argocd 서버에서 git clone 시 도메인 관련 문제 발생하는 부분도 확인했습니다.kube dns 에 설정이 필요할까요 ? cafe: https://cafe.naver.com/kubeops
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Application 기능으로 이해하기 - PV/PVC(local, hostP) 강의 질문입니다.
쿠버네티스 공식 문서의 local 문서에 다음과 같이 명시되어 있습니다. "쿠버네티스 스케줄러는 퍼시스턴트 볼륨 nodeaffinity를 사용하여 파드를 올바른 노드로 스케줄한다."이 내용을 보고 한가지 의문점이 생기드라구요.aws 같은 퍼블릭 클라우드에서는 마스터 노드를 자동으로 컨트롤 해주는데, 그럼 클라우드 환경에서 nodeaffinity는 필요없는거 아닌가라는 의문점이 들었습니다.클라우드 환경에서는 스케줄링도 알아서 해주는 것으로 아는데 nodeaffinity가 어떻게 동작하나요? 실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops
-
미해결개발자를 위한 쉬운 도커
윈도우 사용자 질문
안녕하세요 데브위키님윈도우 사용자는 터미널을 실행한다고 했을 때 PowerShell을 항상 실행하면 되는건가요??그리고 현재 강의에서 사용하시는 mac 명령어와 window 명령어가 동일한가요?
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
영역파괴의 주범 ConfigMap 강의에서 질문드립니다.
ENV java_ home, ENV volume_path 등을 언급하셧는데 이 환경 변수들은 VM에서 사용하는 환경변수인건가요? 아님 도커에서 사용하는 환경변수인건가요? 항상 좋은 강의 감사합니다.환경변수에 대해서는 실제 CI-CD 실습을 안하니 이해가 잘 안돼는거 같습니다. ㅠㅠ빨리 다음 챕터로 넘어가서 한 번 실습을 해봐야겠네요 실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops
-
해결됨개발자를 위한 쉬운 도커
컨테이너 실행이 안됩니다.
안녕하세요.이미지 레지스트리 실습을 따라가던 도중에개인 레포지토리에 올린 이미지를 run할 때WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v3) and no specific platform was requested해당 경고가 뜨고, 컨테이너가 계속해서 바로 종료됩니다.
-
해결됨개발자를 위한 쉬운 도커
docker login이 안됩니다. (desktop과 git bash에서)
환경 문제 관련 문의 드립니다. 문제 1. docker desktop에서 login을 시도하면 WebBrowser에 아래와 같은 화면이 나오고, Desktop에서는 아래와 같이 login을 준비하지만, login이 되지 못하고 logout되는 현상이 있습니다. 이에 git bash 에서 login을 하려고 해도 아래와 같은 메시지가 나옵니다.$ docker loginError: Cannot perform an interactive login from a non TTY device OS는 : Windows11이고Docker desktop version : 4.28.0 입니다.