묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨개발자를 위한 쉬운 도커
로그인에 성공했는데 권한 거부와 함께 push 가 안됩니다.
로그인에 성공했는데 push 가 안됩니다. ㅠㅠ 어떻게 해야 할까요..?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
도커 이미지 생성과 푸시 명령어를 할 수 있는 이유
안녕하세요 선생님. 질문 있어 글 남깁니다.Github actions에서 도커 이미지를 생성하고, ECR에 푸시하기 위해 사용한 docker build, docker push와 같은 명령어가 어떻게 실행 될 수 있는건가요?위의 테스트 과정에서 테스트를 위해 ubuntu 서버에 node를 설치했듯이, 여기서도 이미지 생성,푸시 위해서는 ubuntu 서버에 docker를 설치해야 되지 않나요?정리하면, ubuntu 서버에서 도커 설치 없이 docker build, docker push와 같은 명령어가 실행 가능한 이유가 궁금합니다
-
해결됨개발자를 위한 쉬운 도커
이미지라는 것에 대한 궁금증
안녕하세요 강사님 ! 정말 도커에 대해서 처음 듣는데도 이해하면서 들을 수 있어 감사합니다 . 우선 궁금한 것이, 이미지라는 것이 결국 애플리케이션을 실행하는데 필요한 모든 파일과 설정을 포함하는 읽기 전용 템플릿 ? 파일 시스템이라는 것을 이해했습니다.그런데 궁금한 것이, 그렇다면 지금처럼 계속 이미지를 nginx만 넣어주고 있는데 이후에 만약 제가 따로 개발한 애플리케이션을 이미지로 넣을 수도 있는 것인가요 ? 보통 이미지에는 어떤 것이 들어가는지 궁금합니다. 말 그대로 프로그램이면 다 올라갈 수 있는 것인가요 ?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
인바운드 규칙 설정 문제
강의내용 따라서 배포까지 진행하고있습니다. 이전강의 보안그룹 설정할때 인바운드규칙 설정에서 HHTP에 기본 80포트로 하고 규칙을 저장하려고 하니 "CIDR 블록, 보안 그룹 ID 또는 접두사 목록을 지정해야 합니다." 라는 문구와함께 값을 인바운드 ip주소? 나 접두사를 입력해야하더라구요. 0.0.0.0/0 은 허용이 되지 않아 접두사목록에 있는 것 하나 그냥 선택해서 넘어갔습니다.배포 후 서버 접속 하려고하니 HTTP 인바운드규칙에 걸려서 그런지 접속이 되지 않아 일단 내IP로 설정해서 접속은 했습니다.모든 IP 주소 접속허용은 안되는건지 잘 모르겠네요...
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
aws ecs + fargate 환경에서 aws elasticache 연동 이슈
redis 생성 시, 모든 포트의 인바운드 규칙을 허용해놓았습니다.ecs service 구성 시, redis가 속해있는 sg에서 오는 요청 허용하는 인바운드 규칙 추가했습니다.task-definition 정의 시, redis port를 열어놓았습니다.서버에서 redis로 요청 시, 504 Gateway Time-out 가 발생하고 있습니다.fargate 환경에서 elastic cache 접근 시 고려해야할 부분이 있을까요?!
-
해결됨개발자를 위한 쉬운 도커
VScode 컨테이너 내부에서 개발환경 구성
안녕하세요! 데브위키님!우선 도커 강의를 잘 듣고 있고 너무 도움이 되는 강의라 강의를 만들어 주셔서 감사합니다!세션 8의 VScode 컨테이너 내부에서 개발환경 구성 강의를 듣다가 궁금한 점이 생겼는데dockerfile이.devcontainer의 dockerfile과 leafy-front 파일의 dockerfile이 두 개가 있는데강의에서처럼 VScode에 컨테이너 구성을 했을 때, leafy-front 파일의 dockerfile은 쓰이지 않는 것인지또 실제 배포를 했을 땐, leafy-front 파일의 dockerfile이 사용되고 .devcontainer의 dockerfile은 사용이 안 되는 것인지 궁금합니다.마지막으로 이 두 dockerfile은 서로에게 영향을 주진 않는지도 궁금합니다!
-
해결됨애플리케이션 배포 자동화와 CI/CD
무중단 배포시 질문
안녕하세요.질문이 있는데요, 무중단 배포 진행하는 과정에서 Nginx 설정 다음과 같이 하잖아요.upstream backend_servers {3개 서버 설정} 근데 배포할 때 1번 서버가 다운되고 재기동 되는데 10초가 걸린다하면 이 10초 사이에 클라이언트가 요청했는데 1번 서버로 가면 에러나는거 아닌가요?Nginx가 알아서 서버 헬스체크해서 에러나면 정상적인 서버로 보내는건가요?
-
미해결AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)
docker volume
저 docker volume을 사용해서 app 폴더의 내용을 수정하면 , 바로 docker container안에 반영되게 하느것을 따라하고 있는데 , 저장후 반영이 안되서 , docker exec -it 를 해서 container안에 들어가 보니 , 사용자가 수정 권한이 없어서 777로 바꾸고 다시 해봐도 잘 안되네요 , cat index.ts파일해도 바뀐 파일이 container안에 반영자체가 안되는거 같습니다 도와주세
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
배포 실패
에러 메시지The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems.CodeDeploy 공식문서 참조less /var/log/aws/codedeploy-agent/codedeploy-agent.log / ERROR에러 메시지InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Error during perform: Aws::S3::Errors::NoSuchKey - The specified key does not exist. - /opt/codedeploy-agent/vendor/gems/aws-sdk-core-3.121.1/lib/seahorse/client/plugins/raise_response_errors.rb:17:in call 혹시나 하고 CodeDeploy Agent restart 재시작EC2인스턴스 IAM 재설정yaml 마지막부분 \ 인식하게 수정다 안되네요...
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법의 스크립트 질문
- name: SSH(원격접속)로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 #env: #APPLICATION_PROPERTIES: ${{ secrets.APPLICATION_PROPERTIES }} with: #SSH로 접속할 때 필요한 값들이 있음. IP주소, ubuntu, 키페어 (EC2에 접속하기 위한 과정) host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} #envs: APPLICATION_PROPERTIES #문제가 있으면 스크립트 중단. script_stop: true script: | rm -rf /home/ubuntu/instargram-server/current mkdir /home/ubuntu/instargram-server/current mv /home/ubuntu/instargram-server/tobe/project.jar /home/ubuntu/instargram-server/current/project.jar cd /home/ubuntu/instargram-server/current sudo fuser -k -n tcp 8080 || true nohup java -jar project.jar > ./output.log 2>&1 & rm -rf /home/ubuntu/instargram-server/tobe스크립트에서 실행 순서에 대한 질문입니다.기존에 있던 서버는 current 파일의 project.jar 로 실행되고 있었을텐데 current 파일을 먼저 날리고 기존의 서버를 종료시켜 주는 부분이 이해가 되지 않습니다. 아마도 제 생각에는 current 폴더 안의 project.jar로 실행되고 있던 8080포트의 프로세스가 current 폴더를 삭제해주면 에러가 생길 것 같은데 에러가 생기지 않는 이유가 궁금합니다. 프로젝트 종료 -> 프로젝트가 담겨있던 폴더 삭제 -> 새 프로젝트 폴더 생성 순으로 가야 할 것 같은데 기존 프로젝트 폴더 삭제 -> 새 프로젝트 폴더 생성 -> 프로젝트 이동 -> 기존 프로젝트 종료 -> 새 프로젝트 실행 이런 순서로 해도 에러가 안나는 이유가 궁금합니다. 두서없이 써서 죄송합니다 ㅎㅎ;
-
미해결애플리케이션 배포 자동화와 CI/CD
젠킨스->애플리케이션 서버 접속 안됨
젠킨스서버에서 공개키를 생성하고application 서버 ~/.ssh/authorized_keys에 접속후 키를 입력을 했는데이미 키가 있어서 지우고 다시했는데도 안되고두개를 등록했는데도 안되서 문의남깁니다.ㅠㅠ
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
git action run command timeout
인스턴스 생성시 전부 프리티어로 생성을 했었는데git action run command timeout 발생했습니다혹시나 다른분들도 이런상황이라면aws ec2 메모리 용량 증설에 대해서 검색해보세요15분이 기다려도 안되던데 바로 적용이 되네요
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
Ec2 인스턴스로 요청이 안됩니다.
안녕하세요.EC2 인스턴스 및 보안 그룹 설정 후 git clone, Jar 빌드 후 run까지 되는데외부에서 IP주소:port로 요청을해도 요청이 들어오지 않아 질문드립니다.curl 을 해봐도 커넥션 타임아웃이 발생하는데따로 확인해야하는 부분이 있을까요?강의랑 다르게 한것은 AWS 에서 우분투 에서 깃 클론 후 ./gradlew 명령어가 없다고 나와서 따로 wget으로 설치 후 환경변수 설정했습니다.감사합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
scp로 EC2에 jar 전송 중 scp timeout로 인한 실패 문제입니다
[실습] 일반 프로젝트에서 많이 쓰는 CI/CD 구축 방법 - 에서 발생하는 오류입니다,, ```- name: SCP로 EC2에 빌드된 파일 전송하기 uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.EC2_HOST }} username: ${{ secrets.EC2_USERNAME }} key: ${{ secrets.EC2_PRIVATE_KEY }} source: project.jar target: /home/ubuntu/instagram-server/tobe해당 yml로 설정 하고서도 반복해서 timeout으로 연결이 실패하네요,, 직접 script로 ec2 내부에서 동작하는 실습까지는 모두 작동했었습니다 따로 에러를 구글링해보았지만 유의미한 해결책이 보이지 않아 올려봅니다
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
수업자료 질문-Case 2 - 일반 웹 프로젝트 구조에 CI/CD 적용하기 (S3, Cloudfront)
전체적인 흐름 이미지를 보면 3번과 4번에서 캐시무효화 명령 및 캐시 무효화를 하는 설명이 작성되어 있습니다. 깃헙 액션에서 3번을 수행하는것 까진 이해가 되는데 4번은 누가 하는건지 모르겠습니다. 제가 찾아본바로는 3번만 수행하면 유저가 다음 요청시 cloudfront가 새로 s3에서 데이터를 받아오고 해당값을 캐싱하는것으로 이해했습니다.https://jscode.notion.site/Case-2-CI-CD-S3-Cloudfront-bbd22542211046feac5f04a3955ddf71
-
해결됨개발자를 위한 쉬운 도커
[컨테이너 내부에서 개발하기] - volume mount 질문 드려요.
안녕하세요. 틈틈히 강의를 듣고 있습니다. 질문 하나 있어서요. (Node.js, VSCode) 컨테이너 내부에서 개발환경 구성 강의 마지막 쯤에 볼륨은 마운트 된다고 하셨는데, 강의 상에서는 leafy/leafy-frontend 와 마운트 되더라구요. (컨테이너 안에서는 /workspace/leafy/leafy-frontend) 근데 혹시 이 마운트 되는 경로를 따로 설정으로 바꿀 수 있을거 같은데 .. 어떻게 하면 될까요? (예를 들면 leafy-frontend <-> /workspace/leafy-frontend 이렇게요.) 안녕하세요. 데브위키입니다.강의에 포함된 내용이 아니더라도 강의를 듣다가 궁금하신 점이 생기시면 부담없이 편하게 질문해주세요. 실습에 오류가 발생했거나 명령어가 예상한대로 실행되지 않으신 경우 사용하시는 OS 환경과 화면을 캡처해서 보내주시면 빠르고 자세하게 답변을 드릴 수 있습니다. 질문은 가능한 빠르게 답변 드리겠습니다. 😀감사합니다.
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
S3 권한 문제 어떻게 해결해야 할까요 ㅠㅠ?
S3 에 프로젝트 파일 업로드하기부분 해결하려고 세시간 넘게 삽질했는데... 잘 되지 않아서 결국 질문 드립니다... ㅜㅜ 제공해주신 수업 자료 참고해서 여러 번 반복하고, 구글에 물어보고 했는데 정확히 어떻게 해결해야 맞는지 모르겠습니다ㅠㅠ 어떻게 해야 할까요..?Run aws s3 cp --region ap-northeast-2 ./`$GITHUB_SHA.tar.gz s3://cicd/$GITHUB_SHA.tar.gz upload failed: ./db57ef8b92927c241fb3b672c2dc0ad8c20c6d79.tar.gz to s3://cicd/db57ef8b92927c241fb3b672c2dc0ad8c20c6d79.tar.gz An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Access Denied Error: Process completed with exit code 1.
-
미해결개발자를 위한 쉬운 도커
이미지 레지스트리 manifest 관련 질문입니다.
이미지 레지스트리 part.3 부분 진행하다가 아래와 같은 에러가 발생하는데 manifest관련 설정은 어떻게 해야할까요..?찾아보다가 도저히 모르겠어서 질문 올립니다..! ㅠ docker push mydocker123/my-simple-web:0.1 The push refers to repository [docker.io/mydocker123/my-simple-web] missing content: content digest sha256:d5a11541ef8ce442f8b03bdb816b0128e83650cdc30e65f78985912aa5da27a6: not found Note: You're trying to push a manifest list/index which references multiple platform specific manifests, but not all of them are available locally or available to the remote repository. Make sure you have all the referenced content and try again.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Docker Volume 오류(reference, lowercase)
#ERROR1repository 이름이 소문자여야 한다는 에러입니다. 제가 폴더 명을 "Docker"로 해놨었더니 이런 오류가 뜨더라고요. 폴더명을 "docker"로 바꿨더니 해결되었습니다.kim-yaegun@gim-yegeons-MacBook-Air Docker % docker run -p 5001:8080 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app yaegun/nodedocker: invalid reference format: repository name (Docker) must be lowercase.See 'docker run --help'.#ERROR2레퍼런스가 유효하지 않다는 에러입니다.kim-yaegun@gim-yegeons-MacBook-Air docker % docker run -p 5001:8000 -v /usr/src/app/node_modules -v $(pwd):/usr/src/app yaegunkim/nodedocker: invalid reference format.See 'docker run --help'.이건 $(pwd)를"$(pwd)"로 바꾸어 주니 해결되었습니다.kim-yaegun@gim-yegeons-MacBook-Air docker % docker run -p 5001:8000 -v /usr/src/app/node_modules -v "$(pwd)":/usr/src/app yaegunkim/nodeSuccessful
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
[섹션3 - 내가 만든 이미지 기억하기 쉬운 이름 주기] 네이밍/태그 에러
"docker build -t YaegunKim/hello:latest ./"로 빌드를 잘 한 것 같은데 아래와 같은 에러가 나오더라고요.#COMMANDdocker run -it YaegunKim/hello#ERRORUnable to find image 'YaegunKim/hello:latest' locallydocker: Error response from daemon: Get "https://YaegunKim/v2/": dialing YaegunKim:443 container via direct connection because has no HTTPS proxy: resolving host YaegunKim: lookup YaegunKim: no such host.See 'docker run --help'.근데 또 아이디로 run을 하면 잘 되고...#PROBLEM-SOLVING이유는 버전은 "latest"가 아닌 "lastest"로 해서 에러가 났던 것이었습니다. 다시 빌드 하고 실행해보니 hello가 잘 출력되네요 ㅎㅎ