묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결개발자를 위한 쉬운 도커
도커 볼륨(Docker Volume) 21:00~23:00 nginx 실습 부분
안녕하세요? 볼륨 nginx 실습부분에서 pwd 경로(index) 폴더로 볼륨을 지정하고 nginx를 아무리 다시 실행해 봐도 강사님 화면처럼 403 Forbidden이 나오지 않고 Welcome to nginx 화면이 나옵니다.제가 뭘 잘못한 건가요? $ pwd /c/adol/#study/Docker/EasyDocker/index docker run -d -p 8000:80 --name my-nginx-a -v /c/adol/#study/Docker/EasyDocker/index:/usr/share/nginx/html nginx d6c95b6bd03c21b0cf643614b42c440f4a91a94bb9a7808d5e932c719ad71ecf docker run -d -p 8001:80 --name my-nginx-b -v /c/adol/#study/Docker/EasyDocker/index:/usr/share/nginx/html nginx 8e1f6e6ed1f3fcb993120aefcfede0841af72f5a291e86f01cd0567d2e7400ba 제가 뭘 잘못했는지 알려 주시면 감사하겠습니다.OS는 Windows이고, 강사님이 따로 경로 // 언급 안 해서 안 붙였습니다.
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
4000번 포트를 그대로 사용하면 로드밸런스와 연결이 불가능한가요?
선생님 강의를 따라하며 80번포트가아닌 4000번 포트를 그대로 두면 로드밸런스는 연결 불가능한가요?인스턴스의 80번 포트와 연결을하는건가요
-
미해결쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS
서비스 메소드 작성 시 질문!
안녕하세요 쥬쥬님 서비스에서 메서드를 만들 때 질문 있습니다. A라는 서비스 메소드를 만들 때 로직이 복잡하면 코드가 엄청 길어지면 그 때는 안에 있는 메소드를 B, C 서비스 메소드로 분리해야 할 것 같은데 서비스 메소드를 만들 때 기준이 있나요?지금 createReview 서비스 메소드를 만들때restaurantRepository.findById(restaurantId).orElseThrow()를 사용하여 조회 및 검증 작업을 진행하는데 추후에 해당 코드를 그대로 유지하는지, 서비스 메소드로 분리하는지, 스태틱 메서드로 만드는지 기준이 궁금합니다.
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
4 쿠버네티스 워크로드에서부터 갑자기
섹션 4 쿠버네티스 워크로드 - 4-1) 포드 디스크립터 작성강의에서 kubectl port-forward 가 해본적 없는데 해본적 있죠 하면서 나옵니다. 또한 kubectl logs 도 그렇습니다. 무언가 강의 순서가 꼬인 것 같은데 어떤순서로 강의를 수강해야하나요?
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
axios오류 문의드립니다!
프론트엔드 폴더에서 npm run start하면 바로 저 에러가 발생하고 소스 컨트롤 +S (저장)버튼 한번 누르면 되돌아옵니다.install axios 을 통해 package.json에 정상적으로 들어가 있는것도 확인했습니다.. 인풋값에 값 입력 후 전송 해도 동일한 에러가 발생하고axiox관련 404문제라 경로 및 오타도 확인해봤지만 문제가 없다고 생각하며 소스도 복사해서 가져온 상태입니다. 어떤곳을 확인을 해봐야될까요??ㅠㅠ
-
해결됨개발자를 위한 쉬운 도커
git clone https://github.com/daintree-henry/leafy.gif가 not found로 뜹니다.
PostgreSQL 컨테이너 구성에서 2:05초에 leafy 소스코드 다운로드를 하는데 아래와 같이 찾을 수 없습니다. $ git clone https://github.com/daintree-henry/leafy.gif Cloning into 'leafy.gif'... remote: Repository not found. fatal: repository 'https://github.com/daintree-henry/leafy.gif/' not found 실제 github를 가도 해당 gif파일이 존재하지 않습니다.이전 leafy 실습 테스트에서도 내부 사진들은 전부 로드되지 않았는데, 파일이 없다 보니 동일한 문제였던 것 같습니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
kafka 사용 이유
안녕하세요,궁금한 내용이 생겨 기존에 질문들을 살펴보고 제가 이해한 것이 맞는지 확인차 질문드립니다. redis의 싱글스레드 특성으로 100개 발급에 대한 race condition 해결 --> 그러나 insert 시 DB 처리량에 부하가 발생할 수 있음kafka 미들웨어를 통해 100개의 쿠폰 저장 이벤트를 보관해두었다가 컨슈머에서 원할때 꺼내어 처리할 수 있는 여지를 주어 처리량 부하를 분산시킬 수 있음ex) 쿠폰 발급은 당장 안해도 되니, kafka에 이벤트만 잘 발행되어 있다면 DB 작업량이 적은 새벽에 꺼내서 저장해도 됨 이렇게 이해했는데, 맞을까요?
-
해결됨개발자를 위한 쉬운 도커
docker compose부분 질문드립니다
제가 이해하는 바로는 build에 있는 도커파일을 바탕으로 image에 적힌 이름으로 이미지를 생성한다라고 이해했는데요 사진속에 초록색 부분 run부분에 deviwikirepo/leafy-postgres:1.0.0이 아니라 leafy-backend:5.0.0-compose가 있어야 하는게 아닌가요?
-
미해결대세는 쿠버네티스 [초급~중급]
authentication에서 클러스터 2개를 활용해서 kubectl로 context 변경하시는데
이거 기존에 만든 클러스터 외에 별도 VM 띄워서 클러스터 하나 더 만드신거죠??
-
해결됨개발자를 위한 쉬운 도커
docker 볼륨마운트에 대해서 질문드립니다
안녕하세요 :)배운 내용을 토대로 제 개인 우분투 컴퓨터 서버에 배포를 하려 하는데요수업에서 배운 3-Teir 형식으로 network설정도 하고, /api로 스프링 서버에 요청이 가도록 nginx도 설정했습니다 서버에 만들어놓은 RAID1 (경로는 /mydata/img) 디렉토리를 스프링과 볼륨 마운트해서 POST 요청시 이미지를 저장하도록 만들었는데요저장이 잘 되는건 확인했는데 클라이언트에서 src에 이미지경로를 어떻게 설정해야 할까요? 찾아보고 구현해본 방법중에서 아래 사진과 같이 만들었는데요 이게 3-Teir 의 요점과도 가장 잘 맞는거 같아서요..uploadPath와 RAID1을 볼륨 마운트하고,src="/images/이미지명",nginx에 location 으로 proxy_pass 설정만 해주면 될까요?아니면 추가적으로 설정할게 더 필요할까요?@Configuration public class WebConfig implements WebMvcConfigurer{ @Value("${upload.path}") private String uploadPath; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/images/**") .addResourceLocations("file:/" + uploadPath); } }아니면 진짜 정배가 따로 있을까요 ㅋㅋ...정확한 방법을 알고싶어서 질문드립니다 ㅠ
-
미해결대세는 쿠버네티스 [초급~중급]
Longhorn으로 설치를 완료했는데 대시보드를 보니 노드가 두 대 설정되어 있는데
마스터와 노드1만 설정되어 있는데 노드2는 왜 설정이 안되었을까요?
-
미해결대세는 쿠버네티스 [초급~중급]
StorageOS 설치 과정에서 설치는 된 것 같은데 강의 실습에서 다른 메시지가 보여 확인차 문의 드립니다.
namespace/storageos-operator createdclusterrole.rbac.authorization.k8s.io/storageos-operator createdserviceaccount/storageoscluster-operator-sa createddeployment.apps/storageos-cluster-operator created여기까지는 강의 실습 내용과 동일한 것 같습니다.하지만 추가적으로 아래 메시지가 더 발생했는데... 확인차 문의드려요! resource mapping not found for name: "storageosclusters.storageos.com" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"ensure CRDs are installed firstresource mapping not found for name: "storageosupgrades.storageos.com" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"ensure CRDs are installed firstresource mapping not found for name: "jobs.storageos.com" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"ensure CRDs are installed firstresource mapping not found for name: "nfsservers.storageos.com" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1"ensure CRDs are installed firstresource mapping not found for name: "storageoscluster-operator-rolebinding" namespace: "" from "https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml": no matches for kind "ClusterRoleBinding" in version "rbac.authorization.k8s.io/v1beta1"ensure CRDs are installed first
-
미해결개발자를 위한 쉬운 도커
docker remote JVM debug 설정
안녕하세요. 강의듣다가 Remote JvmDebug에서 Before launch를 설정하려고 하는데요. 제 인텔리제이에서는 Launch Docker Before Debug라는 항목이 보이지 않아서요.. plugin으로 docker설치하고 다시 intellij 실행하였고, 인텔리제이 버전은 2024.1 입니다. Mac 환경이고.. 왜 저는 안나오는지 모르겠어요 ㅠㅠ
-
해결됨개발자를 위한 쉬운 도커
[개발환경구성] docker vscode로 실행시
vscode로 node설치 안하고 node docker를 이용해서 npm install을 하고서 npm run serve 명령어를 하면요분명 localhost:80 이라고 쓰여있는데 막상 눌러서 브라우저에 니깐 포트번호가 다르더라고요.그냥 제 PC에 브라우저에서 localhost:80이라고 접속하면 되지 않구요!왜그런걸까요?? 이거에 대한 설명이 부족한거 같아서 질문으로 올립니다.
-
해결됨개발자를 위한 쉬운 도커
docker 실행시 네트워크 질문
강사님 강의 잘 듣고 있습니다.docker 컨테이너 실행시, --network 옵션으로 네트워크를 지정해주지 않으면 디폴트로 'bridge' 라는 네트워크에 컨테이너가 실행되는건가요?? network 리스트에서 'bridge'라는 name을 찾아서 기본값으로 사용하는걸까요?
-
해결됨[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
강의 교안
강의 교안은 없는 건가요? 못잧겠어요. 어느경로에 있나요 ?
-
미해결[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
nodemon refresh
터미널에 yarn start:dev 를 입력하면 에러가 나와고 있어요. 어떻게 해결할까요? node:internal/modules/cjs/loader:1147 throw err; ^Error: Cannot find module '/Users/navruzbekabdullajonov/Desktop/codecamp-backend-mento/class/section03/index.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15) at Module._load (node:internal/modules/cjs/loader:985:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12) at node:internal/main/run_main_module:28:49 { code: 'MODULE_NOT_FOUND', requireStack: []}Node.js v20.11.1[nodemon] app crashed - waiting for file changes before starting...^[[A
-
미해결초보를 위한 쿠버네티스 안내서
kubectl apply 적용 시 status "imagepullbackoff, errimagepull" 상태
안녕하세요 kubectl apply -f wordpress-k8s.yml 적용시 이미지들이 제대로 불러와지지 않습니다.확인 부탁드립니다 감사합니다 (__ ) kubectl get all 사진과 아래 kubectl describe pod 명령어 출력 내용 전달 드립니다. Name: wordpress-746bd6d54b-glpjqNamespace: defaultPriority: 0Service Account: defaultNode: minikube/172.22.59.104Start Time: Tue, 23 Apr 2024 15:41:01 +0900Labels: app=wordpress pod-template-hash=746bd6d54b tier=frontendAnnotations: <none>Status: PendingIP: 10.244.0.10IPs: IP: 10.244.0.10Controlled By: ReplicaSet/wordpress-746bd6d54bContainers: wordpress: Container ID: Image: wordpress:5.9.1-php8.1-apache Image ID: Port: 80/TCP Host Port: 0/TCP State: Waiting Reason: ImagePullBackOff Ready: False Restart Count: 0 Environment: WORDPRESS_DB_HOST: wordpress-mysql WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: root WORDPRESS_DB_PASSWORD: password Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-v6cfh (ro)Conditions: Type Status Initialized True Ready False ContainersReady False PodScheduled True Volumes: kube-api-access-v6cfh: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: <nil> DownwardAPI: trueQoS Class: BestEffortNode-Selectors: <none>Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 7m50s default-scheduler Successfully assigned default/wordpress-746bd6d54b-glpjq to minikube Warning Failed 7m9s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:33889->172.22.48.1:53: i/o timeout Warning Failed 6m29s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:46061->172.22.48.1:53: i/o timeout Warning Failed 5m46s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:39787->172.22.48.1:53: i/o timeout Normal Pulling 4m58s (x4 over 7m49s) kubelet Pulling image "wordpress:5.9.1-php8.1-apache" Warning Failed 4m35s (x4 over 7m9s) kubelet Error: ErrImagePull Warning Failed 4m35s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:39383->172.22.48.1:53: i/o timeout Warning Failed 4m23s (x6 over 7m9s) kubelet Error: ImagePullBackOff Normal BackOff 4m9s (x7 over 7m9s) kubelet Back-off pulling image "wordpress:5.9.1-php8.1-apache" Warning Failed 2m40s kubelet Failed to pull image "wordpress:5.9.1-php8.1-apache": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:45684->172.22.48.1:53: i/o timeoutName: wordpress-mysql-78488dd7d5-t9mz5Namespace: defaultPriority: 0Service Account: defaultNode: minikube/172.22.59.104Start Time: Tue, 23 Apr 2024 15:41:01 +0900Labels: app=wordpress pod-template-hash=78488dd7d5 tier=mysqlAnnotations: <none>Status: PendingIP: 10.244.0.9IPs: IP: 10.244.0.9Controlled By: ReplicaSet/wordpress-mysql-78488dd7d5Containers: mysql: Container ID: Image: mariadb:10.7 Image ID: Port: 3306/TCP Host Port: 0/TCP State: Waiting Reason: ImagePullBackOff Ready: False Restart Count: 0 Environment: MYSQL_DATABASE: wordpress MYSQL_ROOT_PASSWORD: password Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-7hxcx (ro)Conditions: Type Status Initialized True Ready False ContainersReady False PodScheduled True Volumes: kube-api-access-7hxcx: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt ConfigMapOptional: <nil> DownwardAPI: trueQoS Class: BestEffortNode-Selectors: <none>Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 7m50s default-scheduler Successfully assigned default/wordpress-mysql-78488dd7d5-t9mz5 to minikube Warning Failed 7m29s kubelet Failed to pull image "mariadb:10.7": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:50523->172.22.48.1:53: i/o timeout Warning Failed 6m49s kubelet Failed to pull image "mariadb:10.7": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:42046->172.22.48.1:53: i/o timeout Warning Failed 6m7s kubelet Failed to pull image "mariadb:10.7": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:51638->172.22.48.1:53: i/o timeout Normal Pulling 5m15s (x4 over 7m49s) kubelet Pulling image "mariadb:10.7" Warning Failed 4m55s (x4 over 7m29s) kubelet Error: ErrImagePull Warning Failed 4m55s kubelet Failed to pull image "mariadb:10.7": Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 172.22.48.1:53: read udp 172.22.59.104:42815->172.22.48.1:53: i/o timeout Warning Failed 4m40s (x6 over 7m29s) kubelet Error: ImagePullBackOff Normal BackOff 2m47s (x12 over 7m29s) kubelet Back-off pulling image "mariadb:10.7"
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, flask 배포) [풀스택 Part3]
Database retry 관련
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요~ 좋은 강의 잘 듣고 있습니다 세션 16. 도커 컴포즈 구축 추가 강의 보다가 질문드립니다. docker compose는 컨테이너 혹은 컨테이너 내부 프로세스가 실행 가능한 상태가 되기 전 종속 컨테이너가 실행되어 실행 오류가 나는것을 방지하기 위해 health check 기능을 제공하는 것으로 알고 있습니다.혹시 이 기능을 사용하지 않고 데이터베이스 retry 기능을 로직으로 구현해놓으신 이유가 있으실까요? (기능이 적합하지 않거나 하자가 있거나 등)
-
해결됨개발자를 위한 쉬운 도커
컨테이너 실행 명령어관련 질문드립니다.
명령어 관련해서 헷갈리는 부분이 있어 질문드립니다.명령어 "docker run ~" 관련해서 '-p' 옵션을 따로 추가해서 설정하지 않고 실행하면 특정 포트로 publishing이 되지는 않지만 컨테이너가 내부에서 그냥 실행 되고있는건가요??