묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
도커 볼륨과 바인드 마운트
섹션 4 도커 볼륨을 활용해 데이터 유실 방지하기를 공부하고 나서 관련된 내용을 좀더 공부하다가 바인드 마운트라는 것을 알았는데요섹션 4 내용은 볼륨보다는 바인드 마운트에 대한 내용이라는 생각이 들었는데 어떤 차이가 있는건가요?
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
섹션 1이나 2 등등 강의 자료는 없는 걸까요?
섹션 1이나 2 등등 강의 자료는 없는 걸까요?
-
미해결[DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기
first before
1개념이해를 도와주세요 before after를 전역으로 사용하면 first 잡에서 호출하지 않아도 실행이 되는 건가요? 그렇다면 모든잡에서 항상 실행되는 건가요? 특정 잡에서는 전역값이 실행 안될 수 있게 설정할 수 있나요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
ec2에 mysql 관련 문제
안녕하세요! 어제 질문남겼던 학생입니다! ec2에 mysql을 설치후다음과 같이 연결을 하였습니다. 이후로 log파일을 열어보았는데 이와 같은 에러가 발생해서 검색을 해보니 initialization 관련 설정 오류라 해서 아래와 같이 추가해줬는데이후로 github actions secret도 바꾸고 ec2로 jar 파일이 올바르게 간것도 확인됬는데 계속 같은 문제가 발생하네요ㅜㅠ 이유가 뭔지 궁금합니다!!
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
안녕하세요! 질문있습니다
ec2에 mysql을 깔고 root계정에 비밀번호를 걸고 아래 명령어로 비밀번호를 입력하려고 하는데 아예 콘솔창에 아무 글자도 안쳐집니다ㅜㅠㅠ 왜그런걸까요??!
-
해결됨개발자를 위한 쉬운 도커
컨테이너 가상화에서 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보다 어떠한 측면에서 보안상의 이점이 있는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
yml 자동완성?
안녕하세요~! 다름이 아니라 강사님 처럼 yml 자동완성 ? 하고 기능 사용하고 싶은데, 어떻게 설정하면 되지 알 수 있을까요? 플로그인 Spring Ass ... 찾아봤는데 없더라고요. 그래서 어떻게 하면 되지 여쭤봅니다. 학생계정이라 유료버전 사용 중 입니다.항상 좋은 강의 감사합니다.좋은 하루되세요 ~ 감사합니다
-
미해결대세는 쿠버네티스 [초급~중급]
Deploying file has failed가 뜹니다 ㅠ (해결은 했는데 문제 없는건가 질문 드립니다)
사진과같이 Pod 강의중에 복사해서 넣은 스크립트인데 계속 동일한 에러가 발생합니다 ㅠㅠ apiVersion: v1 kind: Pod metadata: name: pod-1 namespace: default # 명시적으로 네임스페이스 지정 spec: containers: - name: container1 image: kubetm/p8000 ports: - containerPort: 8000 - name: container2 image: kubetm/p8080 ports: - containerPort: 8080위 코드와같이 namespace를 넣으니까 해결은 됐는데 괜찮은건가요...?
-
미해결비전공자도 이해할 수 있는 쿠버네티스 입문/실전
mysql 서버 띄우기
deployment는 정상적으로 띄운거 같은데 위 설정과 같이 데이터 그립에서 연결테스트를하면 해당 오류가 발생합니다.. 왜 그런것일까요?
-
미해결대세는 쿠버네티스 [초급~중급]
대시보드가 나오지않습니다 ㅠㅠ
deploying file 에러가 발생해서 해당 에러 해결할려고 위 댓글처럼 대시보드 삭제하고 다시 다운받았는데 대시보드 자체가 안나와요 ㅠㅠ pod -a 로 확인해도 대시보드 pod은 잘돌아가고 있는거같은데 뭐가 문제인지 모르겠습니다
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
비용
강의를 나눠서 듣는 중인데요. 안 들을 때는 비용 나가지 않게 aws EC2 종료를 매번 해야하나요? 탄력적 IP 를 오래 사용 과금이 있을 수 있다고 하는데, 걱정되어 질문 드립니다!
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
Permission denied
ubuntu@ip-172-31-47-72:~$ cd git-actions-study/ubuntu@ip-172-31-47-72:~/git-actions-study$ lsREADME.md build.gradle gradle gradlew gradlew.bat settings.gradle srcubuntu@ip-172-31-47-72:~/git-actions-study$ ./gradlew clean build-bash: ./gradlew: Permission denied실습 개인 프로젝트에서 많이 쓰는 CI/CD 구축방법에서 빌드과정중 권한이없다고 하는 것 같은데, 혹시 이 상황에서 어떻게 하면 되지 여쭤봐도 괜찮을까요...?
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
서비스 이름 컨테이너 이름 차이 ??
안녕하세요. 선생님 오늘도 공부하다 궁금증이 생겨 질문 드립니다. services: my-web-server: container_name: webserver image: nginx ports: - 80:80 여기서 선생님이 나눠주신 자료랑 강의를 보면 하나의 서비스가 하나의 컨테이너라고 설명해주셨습니다. 그러면 my-web-server는 서비스 이름이니까 컨테이너 이름도 맞는 설명인가 같은데아래 보면 container_name: webserver 도 하나의 컨테이너 이름으로 설명하셨습니다. 이 my-web-server와 webserver 차이점이 무엇인지 궁금하고 어느 곳에서 쓰이는지 활용사례(?)도 궁금합니다!!
-
미해결비전공자도 이해할 수 있는 Docker 입문/실전
지금까지 학습하면서 궁금한점이 있습니다.
Dockerfile에서 베이스 이미지를 작성할 때 openjdk 이미지를 바탕으로 컨테이너를 실행하면 어느 환경으로 구성되어 있나요 ? 베이스 이미지를 ubuntu 이미지로 지정하면 컨테이너 생성 시 우분투 환경으로 설정이 되어 있는것 같은데 혹시 생각한 것이 맞는지도 궁금합니다 !!
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker-compose up 에러 공유 드립니다
docker-compose.ymlversion: "3.9" services: redis-server: image: 'redis' container_name: redis-container restart: unless-stopped ports: - "6379:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 5s retries: 5 node-app: depends_on: redis-server: condition: service_healthy build: context: . dockerfile: Dockerfile container_name: node-app restart: on-failure ports: - "5000:8080" environment: - REDIS_URL=redis://redis-server:6379 server.jsconst express = require('express'); const redis = require('redis'); // Redis 클라이언트 생성 const client = redis.createClient({ url: process.env.REDIS_URL }); // Redis 연결 (async () => { try { await client.connect(); // 클라이언트 연결 console.log('Connected to Redis'); } catch (err) { console.error('Redis connection error:', err); } })(); const app = express(); // 초기값 설정 (async () => { try { await client.set('number', 0); } catch (err) { console.error('Failed to initialize Redis key:', err); } })(); app.get('/', async (req, res) => { try { // Redis 값 읽기 및 증가 const number = await client.get('number'); await client.set('number', parseInt(number) + 1); res.send(`숫자가 1씩 올라갑니다. ${number}`); } catch (err) { console.error('Error handling Redis operations:', err); res.status(500).send('Server error'); } }); app.listen(8080, () => { console.log('Server is running on port 8080'); }); node는 18버전 레디스 클라이언트 모듈은 4.7.0 입니다
-
해결됨대세는 쿠버네티스 [초급~중급]
master노드에서 왜 DNS접근이 안되는 걸까요?
안녕하세요! 우선 제 k8s cluster는 클라우드 서비스를 이용하여 master노드와 worker노드 2개를 각각 다른 vm에 설치해서 총3대로 구성한 상태이구요, section7의 service 실습 강의를 듣던 도중, master노드에서 DNS record를 조회해 보았는데 조회가 안되더라구요. 정상적인 결과인 것일까요? ps. 노드1에서 노드2로의 접근은 확인이 된 상태입니다. (pod-a가 node1, request-pod가 node2에 위치)
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
livenessProbe에 대한 설명이 조금 부족한거 같네요
[질문 하기]강의를 보다 livenessProbe가 killing하고 restart하는 기준이 이해가 안가서 질문 게시판을 봤는데, 저와 비슷한 의문을 가지신 분이 계신 것 같아서 질문드립니다.일단 periodSeconds가 10초, 30초 모두 livenessProbe에서 실패를 하는데, 10초 설정은 killing을 하고 30초는 killing을 안 하길래 찾아보니 failureThreshold라는 값이 또 있더라고요. 이 필드는 몇 번의 실패를 수신해야 실패로 간주하는지 설정하는 옵션입니다 (기본값: 3). 이걸 보니 10초와 30초 옵션의 차이를 이해하게 되었습니다.10초는 빠른 시간 내에 반복 체크해서 3번 실패하여 바로 실패로 간주하고 재시작하였고, 30초 옵션은 반복 2회차 이후에 pod가 정상적으로 떠서 3회차에 성공하여 pod를 재시작하지 않은 것 같습니다. 이외에도 다른 여러 옵션이 있지만 모든 옵션을 다루기에는 시간상 어려울 거라는 점은 이해합니다. 다만, 실습 환경에서 단순히 시간 차이로 테스트하는데 이러한 부분이 언급되지 않으면 이해하기 어려울 것 같습니다. 위 내용을 언급하지 않으신 특별한 이유가 있으신가요? 없다면 보충해주시는 게 좋지 않을까 조심스럽게 의견 드립니다.
-
미해결대세는 쿠버네티스 [초급~중급]
vagrant up 입력 후 에러
위와 같은 에러가 나오는데 어떤 이슈일까요?
-
미해결초보를 위한 쿠버네티스 안내서
m1 맥 도커로 미니쿠베 실행하는 분께
http://127.0.0.1:52741로 접속해야 하는 이유는 다음과 같습니다:Docker 드라이버 사용: Minikube를 Docker 드라이버로 실행하고 있기 때문에, 클러스터의 네트워크가 호스트 시스템과 직접 연결되어 있지 않습니다2.네트워크 격리: Docker 드라이버는 클러스터를 호스트 시스템과 네트워크적으로 격리시킵니다. 따라서 192.168.49.2와 같은 클러스터 내부 IP는 호스트에서 직접 접근할 수 없습니다25.포트 포워딩: minikube service 명령어는 클러스터 내부의 서비스를 호스트 시스템의 포트로 포워딩합니다. 이 경우, WordPress 서비스의 80번 포트가 호스트의 52741번 포트로 포워딩되었습니다8.로컬호스트 바인딩: 포워딩된 포트는 로컬호스트(127.0.0.1)에 바인딩됩니다. 이렇게 함으로써 호스트 시스템에서 해당 서비스에 접근할 수 있게 됩니다9.터널링: minikube service 명령어는 내부적으로 터널을 생성하여 클러스터 내부의 서비스를 호스트 시스템에 노출시킵니다. 이 터널은 로컬호스트의 특정 포트(여기서는 52741)를 통해 서비스에 접근할 수 있게 해줍니다18.따라서, http://127.0.0.1:52741은 Minikube가 생성한 터널을 통해 WordPress 서비스에 접근할 수 있는 주소입니다. 이 방식을 통해 Docker 드라이버를 사용하는 Minikube 환경에서도 클러스터 내부 서비스에 쉽게 접근할 수 있게 됩니다.
주간 인기글
순위 정보를
불러오고 있어요