묻고 답해요
152만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker-compose 가 Docker Desktop 에서 빠진건가요? command not found 라고 뜨네요
m1 pro 사용 중이고 docker desktop 설치되어 있습니다. 찾아보니 docker desktop 설치 시 docker compose 도 같이 설치된다고 하던데.. 커맨드 자체가 없는거보니 뭔가 바뀐것 같네요. 아래처럼 수동으로 설치도 잘 안돼서 진행을 못하고 있습니다..
-
미해결애플리케이션 배포 자동화와 CI/CD
깃헙 웹훅
영상에 나오는대로 다 똑같이 설정을 해줬는데 push를 하면 젠킨스 빌드 기록에 아무런 반응이 오지를 않는데.. 설정중에 잘못된게 있을까요?
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
mytomcat 컨테이너가 실행이 안되는 문제
Dockerfile로 이미지가 만들어진 상태에서docker run --privileged -p 8080:8080 --name mytomcat docker-server:latest명령어를 입력하면위와 같은 에러가 발생합니다.실습 환경은 DinD 방식을 사용하고 있으며, edowon0623/docker-server:m1 이미지를 pull 받아서 컨테이너를 실행시키고 있습니다
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
secret manager 질문있습니다.
ecs에서 secret manager 연결할 때RDS에서 secret manager를 사용해서 비밀번호를 자동으로 교체하도록 설정되어 있다면 비밀번호가 변경됐을 때 서버에서 변경된 비밀번호로 RDS에 다시 연결이 되는건가요?런타임 환경에서 비밀번호가 동적으로 전달되지는 않을 것 같아서요 여쭤봅니다!
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
CI/CD 구현시, 여러 개의 인스턴스는 어떻게 적용할 수 있을까요?
안녕하세요~!비전공자도 이해할 수 있는 CI/CD 입문·실전수업 너무 잘 보고 있습니다~!CodeDeploy까지 친절한 수업 잘 봤습니다. 감사합니다!혹시, 복수개의 인스턴스(EC2)를 배포하고 관리하는 방법도 알 수 있을까요~?생각 보다 운용중 AWS EC2에 장애가 발생할 수 있어 복수의 EC2를 준비해야 한다는 주변의 이야기를 들었습니다 ㅠㅠ감사합니다!
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
자동 유효성 검사 실패
Create certificate 과정에서 도메인 입력 후 자동 유효성 검사가 실패해Automatic validation failed. Manual validation required.Expand the Validation details for this certificate to view the DNS records that you must manually add to the DNS of your domain to complete the validation process.라는 문구가 나옵니다. 해결 방법을 좀 알수 있을까요?
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
./prepare 이미지가 안 생기는 문제
harbor 디렉토리에서 ./prepare을 실행시키면 prepare base dir is set to /root/harborWARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requestedexec /usr/bin/python3: invalid argument이러한 오류 메시지가 발생하여 이미지가 pull이 안되는 문제가 생깁니다.
-
해결됨개발자를 위한 쉬운 도커
도커 컴포즈: volumes는 어떻게 적는 건가요
도커 컴포즈 강의 중 스크린샷에 대한 질문이 2가지 있습니다.Q1. 해당 스크린샷의 코드는 어디가면 찾아볼 수 있나요?깃헙의 Daintree-henry 유저의 리포지터리에서 찾아보려고 해도 찾아볼 수가 없어서 질문드립니다.Q2. Yaml 코드에서 Volumes는 왜 2번 나오는 건가요?컨테이너 2개 각각의 image 바로 밑에 volumes라는 항목이 이미 존재하잖아요. (e.g. postgres_primary_data:/bitnami/postgresql)그런데 밑에서 보이는 또 다른 volumes 코드는 왜 존재하는 건가요?volumes: postgres_primary_data: postgres_standby_data:
-
미해결실전! GitHub Actions으로 CI/CD 시작하기
cloud9 서비스 종료
AWS cloud9이 7월 25일부로 서비스를 종료했다고 하는데요대신 AWS cloudshell로 진행해도 될까요?만약 그렇다면 ec2 인스턴스를 하나 만들고, 여기에 IAM역할인 admin-cloud9을 붙인 다음 cloudshell에서 해당 인스턴스로 ssh를 통해 접속하면 되나요?
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
replicas 가 생기지 않는 문제
docker stack services my-stack 이러한 명령어로 스택에 있는 서비스를 확인했을 때, replicas가 생기지 않는 문제가 발생합니다. docker service logs my-stack_nginx으로 로그를 확인했을 때, "my-stack_nginx.1.e52u87cn5fsb@65b1999ee81f | exec /docker-entrypoint.sh: invalid argument" 라는 오류 메시가 발생합니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
8080로 설정 후 8080 포트 접속이 안되는데, 8081이 접속됩니다.
아래 이미지는 도커 실행 후 docker ps 명령어로 docker 가 잘 실행중인지 확인한 것인데요,, 이후 브라우저에서 "http://127.0.0.1:8080/" 로 접속하면 사이트에 연결할 수 없음으로 나오는데 "http://127.0.0.1:8081"로 접속하면 로그인 창이 열리고 있습니다... 임시 비밀번호로 로그인도 잘 되고요.. 혹시 원인을 알 수 있는 방법이 있을까요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨DevOps의 정석 - DevOps의 시작부터 끝까지 모두 짚어 드립니다!
강의 교안 요청 드려요
강의 교안을 신청을 했는데 (폼 작성) 아직 못받았습니다.tidehyun@gmail.com 로 교안 좀 부탁드릴게요.감사합니다.
-
해결됨개발자를 위한 쉬운 도커
아예 Linux Ubuntu PC에서 실습을 따라하려고 하는데
아예 ubuntu Linux PC에서 따라하려고 하는데 Docker Desktop이랑 많이 혼동이 될까요?
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
docker는 어떻게 macos에서 리눅스를 실행할 수 있는것일까요?
vmware는 os전체를 가상화하고docker는 hostos의 커널을 공유하고 os가 아닌 일부분만 가상화 한다고 했는데...어떻게 macos에서 리눅스가 실행될 수 있는것일까요?이론적으로 같은 운영체제만 가상화 가능할것 아닌가요?
-
해결됨개발자를 위한 쉬운 도커
Gradle 빌드 시 빌드 실패
안녕하세요. "SpringBoot 백엔드 컨테이너 구성" 강의 중 하기 명령을 실습해보고 있습니다만,gradle clean build --no-daemon 명령어를 실행하면이미지와 같이 org.springframework.boot 가 발견되지 않아 빌드 실패한다고 하는데 원인을 잘 모르겠습니다.도움 부탁드립니다.
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
docker -e 옵션에 대한 질문
안녕하세요 강의 항상 잘 보고 있습니다.처음으로 궁금증이 생겨 질문 드립니다.멀티 컨테이너 구성 2번 강의를 듣고 있습니다.여기서docker run -d -p 8088:8088 --network my-network-e "spring.datasource.url=jdbc:mariadb://my-mariadb:3306/mydb" ......이부분에서 -e을 사용할때 이미지에 딱히 옵션을 스프링으로 전달하는 방식이 안나와 있는것 같은데 어떻게 스프링 부트까지 옵션전달이 되는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
환경변수 질문 있습니다
저는 application.yml을 통째로 git secret에 작성하지 않고 다음과 같이 각각을 환경변수로 잡아서 민감한 정보를 숨겼습니다. 그리고 build step 에서 env를 통해 환경변수 값들을 전달해서 사용하려 하였는데, 실제 docker를 통해 실행할 때 해당 환경변수 값들을 찾을수 없다는 에러가 발생하는 상황입니다.저는 build 단계에서 해당 환경변수 값들이 모두 들어간 상태의 완전한 상태로 build가 된다고 생각했지만 실제로는 해당 환경변수들을 일단 빈값으로 놔두고 build하기 때문이라고 알게되었는데 저의 이러한 방식보다는 그냥 application.yml을 통째로 git secret에 넣는 방식이 좋은걸까요..?spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: {SQL_URL} username: {SQL_USERNAME} password: {SQL_PASSWORD} jpa: hibernate: ddl-auto: update properties: hibernate: format_sql: true data: redis: host: {REDIS_HOST:localhost} port: ${REDIS_PORT:6379}name : Deploy To EC2 on: push: branches: - main - feat/ci_cd jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: JDK 17 version install uses: actions/setup-java@v4 with: distribution: temurin java-version: 17 - name: test and build run: | chmod +x ./gradlew ./gradlew clean build working-directory: ./ env: SQL_URL: {{ secrets.DB_URL }} SQL_USERNAME: {{ secrets.DB_USERNAME }} SQL_PASSWORD: {{ secrets.DB_PASSWORD }} REDIS_HOST: {{ secrets.REDIS_HOST }} REDIS_PORT: {{ secrets.REDIS_PORT }} AWS_ACCESS_KEY: {{ secrets.AWS_ACCESS_KEY }} AWS_REGION: {{ secrets.AWS_REGION }} AWS_S3_BUCKET: {{ secrets.AWS_S3_BUCKET }} AWS_SECRET_KEY: {{ secrets.AWS_SECRET_KEY }} TOUR_INFO_KEY: {{ secrets.TOUR_INFO_KEY }} - name: AWS credential setup uses: aws-actions/configure-aws-credentials@v4 with: aws-region: {{ secrets.AWS_REGION }} aws-access-key-id: {{ secrets.AWS_ACCESS_KEY }} aws-secret-access-key: {{ secrets.AWS_SECRET_KEY }} - name: ECR login id: login-ecr uses: aws-actions/amazon-ecr-login@v2 - name: Docker image create run: docker build -t kkilogbu . - name: Docker tag run: docker tag kkilogbu {{ steps.login-ecr.outputs.registry }}/backend:latest - name: Docker image push to ECR run: docker push {{ steps.login-ecr.outputs.registry }}/backend:latest - name: EC2 connection with SSH uses: appleboy/ssh-action@v1.0.3 with: host: {{ secrets.EC2_HOST }} username: {{ secrets.EC2_USERNAME }} key: {{ secrets.EC2_PRIVATE_KEY }} script: | docker stop kkilogbu || true docker rm kkilogbu || true docker pull {{ steps.login-ecr.outputs.registry }}/backend:latest docker run -d --name kkilogbu -p 8080:8080 ${{ steps.login-ecr.outputs.registry }}/backend:latest
-
해결됨개발자를 위한 쉬운 도커
도커 볼륨을 현업에서 사용할 때 질문이 있습니다.
도커 볼륨이 Host OS의 특정 공간에 저장되어 있다하면, 실제 Host OS 자체가 삭제되면 영속성도 제거가 될 거라고 생각을 하고 있습니다. 그렇다면 현업에서 AWS 인스턴스 등을 이용하여 서비스를 하게 될 때 영속성을 저장하는 방법이 따로 존재하는 걸까요? 영속성을 관리해주는 인스턴스나 서비스를 이용하여 더 철저하게 보관하는 편일까요?
-
미해결비전공자도 이해할 수 있는 CI/CD 입문·실전
codedeploy 배포 관련 질문
현재 appspec.yml을 보면 S3에 저장한 모든 파일을 destination에 저장하도록 되어있습니다.files: # S3에 저장한 파일들 중 destination(AWS EC2)으로 이동시킬 대상을 지정한다. # / 이라고 지정하면 S3에 저장한 전체 파일을 뜻한다. - source: / # EC2의 어떤 경로에 저장할 지 지정한다. destination: /home/ubuntu/spring-gift-point그런데 push를 여러개 진행하면 tar.gz파일도 여러개 생기게되는데 이러면 S3의 있는 모든 tar.gz파일을 가져오게되는건가요?deploy.yml에서 파일 압축을 할 때 yml 파일과 scripts폴더를 같이 압축하는 이유가 궁금합니다. 두 파일 모두 project.jar 파일에 들어있기 때문에 project.jar파일만 압축해도 상관없지않나요?- name: 압축하기 run: tar -czvf $GITHUB_SHA.tar.gz project.jar appspec.yml scriptscodedeploy를 활용한 무중단 배포나 로드 밸런싱 강의를 할 수 있다고 하셨는데 따로 강의를 내실 예정이 있으신지 궁금합니다!
-
미해결DevOps를 위한 Docker 가상화 기술 (Private Harbor Registry)
Prometheus 및 컨테이너 상태 메트릭 수집
Prometheus 설명 부분에서요,컨테이너 상태에 대한 Metrics 수집 부분에 대해서 질문있습니다.실무에서 컨테이너 환경에서 애플리케이션을 개발한적은 없고, Prometheus, Grafana, Loki, Promtail 정도만 컨테이너 기반에서 로그 수집하는 정도로만 활용해봤는데요,스프링 부트 환경에 액츄에이터, 마이크로미터 라이브러리 구성해서 N개의 서버(운영, 개발, 스테이징 서버 등)에서 프로파일에 따른 로그를 수집하고, Promtail도 각 서버에 설치하고, 별도의 모니터링 서버에 컨테이너 기반으로 Prometheus, Grafana, Loki 셋팅해서 사용하고 있습니다.(이렇게 구성한 아키텍쳐?가 베스트 프랙티스인지는 잘모르겠네요)그런데 해당 강의를 듣고 생각한게 컨테이너 기반의 애플리케이션을 올릴 경우 추가적으로 컨테이너 상태에 대한 메트릭 수집이 있을 것 같은데요, 컨테이너 실행/중지 같은 상태 제외하면 어떤 유의미한 데이터를 수집할 수 있는지 감이 안오는데, 어떤것들이 있을까요? CPU나 메모리 같은 리소스 정도가 있을꺼 같고..추가적으로 컨테이너 환경의 애플리케이션을 구성한다면 MSA 환경이 아니더라도 로그 정보를 별도의 로그 서버에서 관리하는게 일반적인가요? 이 강의를 듣기전에는 애플리케이션 서버가 당연히 로그도 수집하는거로 생각해서 Promtail도 각 로그파일이 있는 서버에 다 설치했거든요. 이전 섹션에서 로그를 별도 컨테이너에서 관리하는거 보고 궁금증이 생겼습니다.
주간 인기글
순위 정보를
불러오고 있어요