묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
RUN cp
개인적으로 실습을 해보고 있는 과정에서 아무리 해도 해결책을 모르는 것을 물어보고 싶어서 남겨봅니다. multistagebuild 하기전에 singlestagebuild를 하려고 하는 상황입니다. # 빌드 환경 설정 FROM gradle:7.6-jdk17 # 작업 디렉토리 설정 WORKDIR /app # Gradle 빌드 파일과 소스 코드 복사 COPY build.gradle settings.gradle . COPY src ./src # Gradle을 사용하여 애플리케이션 빌드 RUN gradle clean build --no-daemon # 빌드된 JAR 파일을 실행 환경으로 복사 RUN cp build/libs/*.jar app.jar # 빌드된 JAR 파일 실행 EXPOSE 8080 CMD ["java", "-jar", "app.jar"]이렇게 입력을 하면 RUN cp 과정에서"/bin/sh -c cp build/libs/*.jar app.jar" did not complete successfully: exit code: 1"결과가 나옵니다.(RUN cp /app/build/libs/*.jar /app/app.jar 로 해도 결과가 똑같이 나옵니다...)하지만 RUN cp -> COPY로 수정하면 성공합니다.이유에 대해서 물어봐도 될까요? 아무리 구글링을 해도 답을 찾기가 힘듭니다..또한 RUN cp로 빌드에 성공하려면 어떻게 작성해야 할까요?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
윈도우에서 ENTRYPOINT /bin/bash 실행 안되는 분들 참고
FROM openjdk:17-jdk ENTRYPOINT ["//bin//bash", "-c", "sleep 500"]/를 두번 입력해주시고 build 후 run 하면 docker ps 했을 때 올바르게 Up 상태가 됩니다. [실패] [성공] ※질문글 아닙니다.
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
다른 이미지와 달리 직접 만든 이미지를 run 시킬 때 저절로 컨네이너가 종료되는 이유
자신이 직접 만든 이미지를 build 하면 docker image ls에 뜨고 이를 docker run -d my-jdk17-server 명령어로 실행시킨다 까지 이해했습니다.컨테이너가 내부적으로 필요한 명령어를 다 수행하면 컨네이너가 저절로 종료 된다고 하신 부분이 이해가 가지 않습니다. 이전에 mysql 실행할 때는 동일하게 run 명령어를 실행시키면 Up(실행)이 되었는데, 1) 왜 직접 만든 이미지는 실행되지 않나요? 2) mysql은 Dockerfile에 실행시키는 것까지 포함된건가요?
-
해결됨개발자를 위한 쉬운 도커
Docker Compose의 네트워크 구성에 대해서 궁금한 점이 있습니다.
안녕하세요! 강의 정말 잘 들었습니다.강의를 듣고 나서 혼자 프로젝트에 적용해 보던 중, 몇 가지 궁금한 점이 생겨 질문드립니다.강의에서는 Docker Compose를 활용하여 세 개의 컨테이너를 하나의 컴포즈 파일로 묶고, 동일한 네트워크를 사용하여 API를 주고받는 방식을 설명해 주셨습니다. 이를 참고하여 직접 간단한 프로젝트를 만들어 실습해 보았는데, DB 연결에는 문제가 없었지만 프론트엔드와 백엔드 간의 통신에서 CORS 문제가 발생했습니다. 혹시 LEAFT 프로젝트에서는 CORS 문제를 어떤 방식으로 해결했는지 궁금합니다.또한, AWS에 배포할 경우 Docker Compose로 프론트엔드와 백엔드를 하나로 묶어 한 번에 배포하는 것이 일반적인지, 아니면 각각 별도로 배포하는 것이 더 일반적인지도 궁금합니다.다시 한번 좋은 강의 해주셔서 감사합니다!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
image 3개
aws에 image push하면 영상에서는 하나가 뜨는데 저는 3개가 뜨네요 이렇게 동작해도 맞는건가요??
-
미해결개발자를 위한 쉬운 도커
unable to find user nod 오류..
안녕하세요.. 다음과 같이 에러가나서구글에서도 검색을 해봤지만 오류 해결방법과 원인을 알고싶어 질문드립니다! 감사합니다~
-
해결됨쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
kubernetes-anotherclass-sprint2/2211
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다)영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다)긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com)카페 [강의 자료실]에도 많은 질문과 답변들이 있어요!cafe: https://cafe.naver.com/kubeops 젠킨스 파이프라인 2211 실행완료해고 배포 잘 되었는데 쿠버네티스 대시보드에서 이런식으로 계속 경고 뜨면서 디플로이먼트 실행 안되다가 가끔씩 되어도 redinessprobe 경고 뜨는데 이유를 모르겠어서 질문 올립니다. 현재 앱은 잘 실행되는거 같은데 자꾸 이 오류가 뜨네요. 이유를 모르겠어서 질문 올립니다.현재 총메모리량은 93퍼를 사용중인데 가상환경 서버 메모리가 남아 있더란도 이 총 메모리량때문에 오류가 뜰수 있는건가요?
-
미해결AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
Private EC2내 Userdata Script 동작 문제
안녕하세요. 강의 잘 듣고 있습니다. EC2 userdata에 강사님이 제공한 스크립트를 넣고 인스턴스 시작을 하면 스크립트 실행이 되지 않고 있어서 문의 드립니다. EC2 처음 생성시에는 스크립트가 잘 동작하는데 한번 instance stop한 다음에 다시 start 하면 실행이 되지 않습니다. 테스트를 스크립트 내에 echo 등 다양한 방법으로 시도를 해 보았는데 실행이 되지 않고 있습니다. 직접 connect 해서 아래 스크립트 실행하면 잘 됩니다. Security Group 이슈는 아닐 것 같습니다. 혹시 어떤 문제가 있는지 확인 가능할까요?그리고 첫번째 인스턴스 생성시에 aws-operation-prac 폴더가 ec2-user에 생기는 것이 아니고 "/" 루트에 생성이 됩니다. 아래 userdata 스크립트입니다.인스턴스를 몇개 만들어서 테스트를 해도 동일한 결과가 나옵니다. 이 이슈로 ALB, Auto scaling 등에서 진행이 되지를 않고 있습니다. #!/bin/bashsudo yum update -ysudo yum install -y gitsudo yum install -y java-17-amazon-corretto-develgit clone -b 2_monolithic_cloud https://github.com/burger-2023/aws-operation-prac.gitcd aws-operation-prac./gradlew build sudo java -jar build/libs/aws-msa-monolithic-prac-0.1.jar
-
해결됨개발자를 위한 쉬운 도커
도커 데스크탑 설치 안되는 문제
안녕하세요. 도커 데스크탑 설치가 회사 컴퓨터로 설치하다보니 유료버젼만 가능한 상태인데혹시 다른 방법에 대해 설명 해주실 수 있으실까요? https://hackerpark.tistory.com/entry/Windows-%EB%8B%A8%EC%9D%BC-%EB%AA%85%EB%A0%B9-%ED%95%9C%EC%A4%84%EB%A1%9C-WSL2-Ubuntu-%ED%86%B5%ED%95%A9-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0https://hackerpark.tistory.com/entry/Docker-Windows-WSL%EC%97%90%EC%84%9C-Docker-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-Docker-Desktop-%EC%95%84%EB%8B%98 위 링크와 같은 글들을 봤는데 맞는지 모르겠습니다. 우선 설치해서 해보았는데 도커의 버전은 확인가능 하나(docker --version) 도커 실행이 되지 않습니다. docker is not runningcannot connect to the docker daemon at unix:///var/run/docker.sock. is the docker daemon running?위와 같이 나오는 상황입니다.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
실습 중에 서비스로 30000포트로 요청이 안들어가네요
[예제] 서비스(Service)를 활용해 백엔드(Spring Boot) 서버와 통신해보기실습중인데 30000 포트로 어플리케이션에 접근이 안되네요kebectl exec -it $pod이름 -- bash 접근해서 curl 로는 요청이 정상이였고 아래 처럼 서비스에 모두 기재 해줬는데도 서비스로 접근하면 연결이 잘 안되네요. port: 8080 targetPort: 8080 nodePort: 30000혹시 sudo kubectl port-forward 팟이름or서비스이름 8080:8080 처리를 추가로 해줘야 하나요 그게 아니라면 뭔가...제가 설정을 잘 못한거 같네요
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
파드 : crashLoopBackoff
[5:00] 분 쯤에 manifest 파일들을 배포한후 get pods 했더니 파드가 정상적으로 작동이 안되더라구요 어떻게 하나요..?
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
port forward [6.40]
포트 포워딩을 통해 mysql을 외부에서 접속가능하게 할려고하는데 PS C:\kubernates\mysql-project> kubectl port-forward pod/mysql-deployment-545cb7c695-dxbm7 3306:3306 Unable to listen on port 3306: Listeners failed to create with the following errors: [unable to create listener: Error listen tcp4 127.0.0.1:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions. unable to create listener: Error listen tcp6 [::1]:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions.]error: unable to listen on any of the requested ports: [{3306 3306}]이런식으로 오류가 떠서 어떻게 해야될지 모르겠어요...ㅠㅠ
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
도커 이미지 생성 및 소스 빌드에 관한 질문입니다.
12.01 분 쯤에 코드를 수정하시고 바로 docker build로 넘어가시던데 그전에 Spring으로 할때에는 코드 수정하고 ./gradlew clean build라는 명령어와 함께 소스빌드를 거친후 docker build를 하셨는데 혹시 뭔가 차이점이 있을까요??
-
미해결AWS로 쉽고 빠르지만 아주 견고한 서버 환경을 구축하는 방법
기본 라우팅 테이블을 사용하지 않는 이유가 뭔가요?
라우팅 테이블 생성 실습 시에, 기본으로 생성되어 있는 라우팅 테이블을 수정해서 사용하지 않는 이유가 궁금합니다.기본값으로 설정되어 있기도 한데 말이죠.
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
exec /usr/java/openjdk-17/bin/java: exec format error
EC2에서 ECR이미지를 pull하여 실행중에exec /usr/java/openjdk-17/bin/java: exec format error 해당 오류가 계속발생합니다.dockerimage가 ec2의 arm64와 달라서 그렇다는 글도 있어docker buildx build --platform linux/arm64 -t kube-ecr . 해당 명령어로 build하여 ECR에 push도 해보고 했지만 여전히 같은 오류가 발생합니다.어떻게 해결해야할까요??
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
secret 마운트 경로
안녕하세요! Configmap과 Secret 기본 개념 강의를 보다가 궁금한 것이 생겨 문의 드립니다.수업 자료 중 컨테이너 안에 볼륨 마운트 경로인 /usr/src/myapp/datasource/dev 안에 postgresql-info.yaml 이 생성되는 것으로 표시 설명하셨는, 실제로는 secret-datasource 마운트 경로인 secret-datasource에 있습니다.볼륨 설정 중 "files"는 앱에서 사용할 볼륨을 설정하는 것이고, "secret-datasource"는 secret의 내용을 저장하는 볼륨으로 이해하면 맞는 걸까요?
-
해결됨개발자를 위한 쉬운 도커
도커 이미지 파일에서 질문 있습니다.
안녕하세요 강의 재밌게 듣고 있습니다.멀티 스테이지 빌드 강의 부분 7분42초 경에 대해 궁금한 점이 있습니다.멀티 스테이지 빌드는 빌드 스테이지 따로, 빌드한 아티팩트 실행 스테이지 따로 이렇게 진행되는 것으로 알고 있는데요 여기서 첫 번째 스테이지에서FROM maven AS build 이렇게 주고--from 으로 가져올 때 빌드 컨텍스트에서 가져오지 않고 스테이지에서 가져온다고 하였는데 여기서 스테이지가 이해가 가지 않는데 첫 번째 빌드 스테이지가 실행되고 난 뒤 해당 이미지 디렉토리에서 파일을 가져온다는 뜻인가요.?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
aws ecr 명령어 실행중 에러가 발생하여 질문드립니다~!
강사님 안녕하세요:)강의 잘 듣고 있으며 docker에 대해 쉽고 친절하게 알려주셔서 감사합니다. 질문을 한개 드립니다.'[실습] AWS ECR 사용해보기' 강의를 들으면서aws ecr get-login-password로 시작하는 명령어를 사용해 로그인을 시도했습니다. 그런데 아래와 같은 에러가 표출되었습니다.Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>BrokenPipeError: [Errno 32] Broken pipe[1] 69874 exit 120 aws ecr get-login-password --region ap-northeast-2 | 69875 killed docker login --username AWS --password-stdin이것은 어떻게 해결할 수 있을까요~?
-
해결됨개발자를 위한 쉬운 도커
컨테이너 가상화에서 OS
안녕하세요. 컨테이너 가상화에서 OS 관련하여 질문이 있습니다.아래 설명에서 궁금한점이 있습니다."""하이퍼바이저 가상화는 게스트OS와 호스트OS가 따로 존재합니다.컨테이너 가상화는 리눅스 커널 기술을 활용해서 프로세스 간 격리를 합니다. 컨테이너 가상화에서 컨테이너는 호스트OS를 사용합니다.이미지 개발자는 소프트웨어, 의존성 파일, OS를 준비해 이미지로 만듭니다."""이미지에 OS가 있다면 호스트OS와 게스트OS 개념이 들어가는거 아닌가 싶어서요 그러면 하이퍼바이저 가상화가 아닌가 싶어서요...사용자 환경이 windows or ubuntu고 이미지에 사용하고 있는 os는 linux or centos라고 가정할때 해당 이미지를 실행하면 다른 os를 가지는거 아닌가 싶습니다. 추가로 "이미지의 이름을 동료나 친구에게 전달해 주시면 어떤 환경에서든 도커만 설치되어 있으면 완벽하게 일치하는 서버를 구성할 수 있습니다." 해당 작동이 어떻게 될 수 있는지도 궁금합니다. 제 windows 환경에서 도커이미지를 만들어 배포를 합니다. linux를 사용하고 있는 동료가 해당 이미지를 사용하게 되었을때 어떻게 완벽하게 일치하는 서버를 구성할 수 있는지도 궁금하고요.
-
해결됨비전공자도 이해할 수 있는 쿠버네티스 입문/실전
Secret와 ConfigMap의 차이가 궁금합니다!
보안적으로 민감한 변수를 저장하기 위해 활용한다고 배웠습니다.그러나 Secret의 작성 방법이 별다른 암복호화 로직없이 configMap과 99% 동일한 것 같아서요. 같은 repository에서 Secret과 ConfigMap가 함께 위치하는 경우ConfigMap에 접근할 수 있는 사용자는 Secret에도 손쉽게 접근할 수 있을것 같다는 생각이 듭니다. Secret이 ConfigMap보다 어떠한 측면에서 보안상의 이점이 있는지 궁금합니다.