inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

Git Bash Winpty 설정

해결됨

개발자를 위한 쉬운 도커

첫주 환경 구축 중에 Git Bash Winpty 설정하는 부분에서 alsias가 적용되지 않았습니다. 아마 이전에 사용하던 git 설정으로 인해 해당 alias가 적용되지 않은 것 같은데, 위 부분을 넘어가도 괜찮을까요? 제가 사용하고 있는 os는 window 10을 사용하고 있고, git bash의 버전은 2.46.0입니다.

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
Ari 댓글 2 좋아요 1 조회수 307

docker stop instagram-server || true 명령어 질문

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

혹시 뒤에 || true라고 하였는데 이 문장의 의미는 어떤 것일까요??

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
노희석 댓글 2 좋아요 0 조회수 152

강의자료 다운

미해결

실전! GitHub Actions으로 CI/CD 시작하기

강의자료를 다운받으니까 파일이 아무것도 원래 없는걸까요?

  • aws
  • kubernetes
  • ci/cd
  • github-actions
  • eks
jyyun 댓글 2 좋아요 1 조회수 193

Amazon CloudFront 오리진 액세스 제어(OAC)로 S3 오리진 보호하기

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

S3에 대한 접근차단(보안성 향상)과 CloudFront에 S3 연결 방법에 대해 공유 드립니다. ( OAC 방식 ) 과거에 CloudFront를 S3와 연결함을 위해 ①S3와 직접 연결하거나 ②OAI라는 방식으로 연결했던 것으로 보여집니다. 하지만 최근(2022년말)에는 AWS의 정책이 변경되고 점차 OAC 방식 이 권장 및 확대되는 것 같습니다. OAC를 사용하면 간편하게 S3의 (1)"정적 웹 사이트 호스팅-비활성 " , (2)"모든 퍼블릭 액세스 차단-활성화 " , (3)"버킷 정책-모든 사용자(*) Allow 방지 " 가 가능합니다. (물론 (1)~(3)은 수동으로 바꾸셔야 합니다. 강사님 영상을 보시면 충분히 하실 수 있습니다 🙂 ) OAC 방식에 대한 링크를 아래와 같이 공유드립니다! 선생님 영상을 먼저 보고 이후에 OAC방식과 (1),(2),(3)에 대한 보안성 여부를 확인하시면, S3의 보안성이 향상된 것을 경험하실 수 있습니다. Amazon CloudFront 오리진 액세스 제어(OAC)로 S3 오리진 보호하기 에 대한 링크: https://aws.amazon.com/ko/blogs/korea/amazon-cloudfront-introduces-origin-access-control-oac/

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
긍정긍정열매 댓글 2 좋아요 0 조회수 353

localhost 접속질문 입니다.

해결됨

개발자를 위한 쉬운 도커

안녕하세요 좋은강의 만들어주셔서 감사합니다. 제가 섹션6. 컨테이너 애플리케이션 구성 부분을 따라하고 있습니다. prstgreSQL , SpringBoot 백엔드 두개는 컨테이너 구성 및 접속이 잘됩니다. postman 으로 백엔드에 데이터를 날려보니 잘 나옵니다. 하지만 꼭 프론트엔드 접속부분에서 항상 접속이 안됩니다. frontend 컨테이너도 물론 잘실행 됩니다. docker desktop 에서 프론트 로그를 보면 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 3 (SIGQUIT) received, shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 7#7: gracefully shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 8#8: gracefully shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 10#10: gracefully shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 11#11: gracefully shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 7#7: exiting 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 11#11: exiting 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 8#8: exiting 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 13#13: gracefully shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 13#13: exiting 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 8#8: exit 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 12#12: gracefully shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 14#14: gracefully shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 13#13: exit 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 12#12: exiting 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 9#9: gracefully shutting down 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 9#9: exiting 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 12#12: exit 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 9#9: exit 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 10#10: exiting 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 10#10: exit 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 11#11: exit 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 14#14: exiting 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 14#14: exit 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 7#7: exit 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 17 (SIGCHLD) received from 10 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 10 exited with code 0 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 12 exited with code 0 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 29 (SIGIO) received 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 17 (SIGCHLD) received from 11 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 7 exited with code 0 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 9 exited with code 0 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 11 exited with code 0 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 29 (SIGIO) received 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 17 (SIGCHLD) received from 8 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 8 exited with code 0 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 29 (SIGIO) received 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: signal 17 (SIGCHLD) received from 14 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 13 exited with code 0 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: worker process 14 exited with code 0 2024-09-12 12:30:06 2024/09/12 03:30:06 [notice] 1#1: exit 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: using the "epoll" event method 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: nginx/1.21.4 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: built by gcc 10.3.1 20210424 (Alpine 10.3.1_git20210424) 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: OS: Linux 5.15.153.1-microsoft-standard-WSL2 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker processes 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 7 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 8 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 9 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 10 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 11 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 12 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 13 2024-09-12 12:30:07 2024/09/12 03:30:07 [notice] 1#1: start worker process 14 이렇게 나오는데 접속 에러 로그도 안나오네요 제가 다른곳에서 80 포트를 사용중인가 싶었지만 그렇지도 않습니다. 혹시 제가더 살펴볼 다른곳이라도 있을까요?

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
호갱 댓글 2 좋아요 1 조회수 209

C# ASP.NET 백엔드 서버를 리눅스로 배포하려고 합니다 :)

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

박재성 선생님 안녕하세요! C# ASP.NET 백엔드 서버 를 리눅스 로 배포하려고 하는데요. 이에 대하여 접근 방식(힌트)을 여쭤볼 수 있을까요~? Spring Boot와 Nest.js를 너무나 잘 설명해주셔서 혹시 선생님께는 처음 접하는 프레임워크(C# ASP.NET )에 대하여 어떻게 접근하실지 궁금하여 질문을 남겼습니다! 좋은 강의에 다시 한번 감사드립니다!!

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
  • .net
  • C#
긍정긍정열매 댓글 1 좋아요 0 조회수 300

rtm.start() 오류

미해결

날씨를 알려주는 나만의 SlackBot 만들기 (파이썬)

아래와 똑같은 질문입니다. 19번 라인 trm.start부분에서 계속 오류가 납니다. 아래 질문의 답변을 통해 Classic Slack App으로 생성하지 않아(현재 불가능) 발생한 것으로 파악하였습니다. 강의 업데이트 공지 상으로 6월 중으로 완료될 예정이라고 하셨는데 아직 강의가 업데이트 되지 않은 것 같아 질문 드립니다. 업데이트 된 강의는 언제 올라올 예정인가요? 오류 해결 방법을 알고 싶습니다.

  • python
  • slack
  • github-actions
  • playwright
  • httpx
dudzw623 댓글 1 좋아요 0 조회수 132

CI/CD 구현시, 여러 개의 인스턴스는 어떻게 적용할 수 있을까요?

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

안녕하세요~! 비전공자도 이해할 수 있는 CI/CD 입문·실전 수업 너무 잘 보고 있습니다~! CodeDeploy까지 친절한 수업 잘 봤습니다. 감사합니다! 혹시, 복수개의 인스턴스(EC2)를 배포하고 관리하는 방법도 알 수 있을까요~? 생각 보다 운용중 AWS EC2에 장애가 발생할 수 있어 복수의 EC2를 준비해야 한다는 주변의 이야기를 들었습니다 ㅠㅠ 감사합니다!

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
긍정긍정열매 댓글 1 좋아요 0 조회수 222

도커 컴포즈: 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:

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
Jinwoo Park 댓글 2 좋아요 1 조회수 303

cloud9 서비스 종료

미해결

실전! GitHub Actions으로 CI/CD 시작하기

AWS cloud9이 7월 25일부로 서비스를 종료했다고 하는데요 대신 AWS cloudshell로 진행해도 될까요? 만약 그렇다면 ec2 인스턴스를 하나 만들고, 여기에 IAM역할인 admin-cloud9을 붙인 다음 cloudshell에서 해당 인스턴스로 ssh를 통해 접속하면 되나요?

  • aws
  • kubernetes
  • ci/cd
  • github-actions
  • eks
최성준 댓글 2 좋아요 0 조회수 820

아예 Linux Ubuntu PC에서 실습을 따라하려고 하는데

해결됨

개발자를 위한 쉬운 도커

아예 ubuntu Linux PC에서 따라하려고 하는데 Docker Desktop이랑 많이 혼동이 될까요?

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
asg5450 댓글 2 좋아요 1 조회수 149

Gradle 빌드 시 빌드 실패

해결됨

개발자를 위한 쉬운 도커

안녕하세요. "SpringBoot 백엔드 컨테이너 구성" 강의 중 하기 명령을 실습해보고 있습니다만, gradle clean build --no-daemon 명령어를 실행하면 이미지와 같이 org.springframework.boot 가 발견되지 않아 빌드 실패한다고 하는데 원인을 잘 모르겠습니다. 도움 부탁드립니다.

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
ys1392.kim 댓글 1 좋아요 0 조회수 256

환경변수 질문 있습니다

미해결

비전공자도 이해할 수 있는 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

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
kyb1208tg 댓글 1 좋아요 0 조회수 209

도커 볼륨을 현업에서 사용할 때 질문이 있습니다.

해결됨

개발자를 위한 쉬운 도커

도커 볼륨이 Host OS의 특정 공간에 저장되어 있다하면, 실제 Host OS 자체가 삭제되면 영속성도 제거가 될 거라고 생각을 하고 있습니다. 그렇다면 현업에서 AWS 인스턴스 등을 이용하여 서비스를 하게 될 때 영속성을 저장하는 방법이 따로 존재하는 걸까요? 영속성을 관리해주는 인스턴스나 서비스를 이용하여 더 철저하게 보관하는 편일까요?

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
이종민 댓글 1 좋아요 1 조회수 270

codedeploy 배포 관련 질문

미해결

비전공자도 이해할 수 있는 CI/CD 입문·실전

현재 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 scripts codedeploy를 활용한 무중단 배포나 로드 밸런싱 강의를 할 수 있다고 하셨는데 따로 강의를 내실 예정이 있으신지 궁금합니다!

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
yso829612 댓글 1 좋아요 0 조회수 284

섹션 2 이미지 강의 수업자료를 보면서 궁금한 점이 생겼습니다.

해결됨

개발자를 위한 쉬운 도커

이 강의로 도커에 처음 입문하게 되었습니다. 강의를 듣던 중 도커가 이런 식으로 작동하는 것이구나에 대해 이해해 가고 있던 와중 섹션 2 이미지 강의에서 보여주신 수업자료 화면에서 궁금한 점이 생겨 질문드립니다. 아직 제가 강의로만 도커를 입문해서 경험이 없어서 그런데 하이퍼바이저 가상화에서는 하이퍼바이저가 서로 다른 os (호스트 os 와 게스트 os) 를 조율해서 자원을 사용할 수 있도록 한다고 하셨는데 컨테이너 기술의 경우 무조건 호스트 os 와 같은 os 를 가진 이미지 만을 사용해야 하는 것인가요? 필요에 의해 다른 os를 가진 이미지를 사용하는 일은 없는 것인지 만약 있다면 서로 다른 os 간의 조율은 어떻게 되는 것인지 궁금합니다

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
zzing199842 댓글 2 좋아요 1 조회수 207

Dockerfile과 커밋방식에 대해 질문 있습니다.

해결됨

개발자를 위한 쉬운 도커

"COPY 빌드컨텍스트경로 레이어경로" 여기서 레이어 경로는 어떻게 구성되어 있는지 알 수 있나요? 강의 내용중에 "커밋 방식을 사용하면 기존 레이어에 새로운 레이어를 한 장 더 추가할 수 있다." 라고 했는데 추가된 새로운 레이어는 읽기 전용 레이어 인가요?

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
capstonefittrip 댓글 2 좋아요 1 조회수 245

copy-on-write 전략에 대해 추가 질문 있습니다.

해결됨

개발자를 위한 쉬운 도커

안녕하세요 전에 copy-on-write 전략에 대해 질문을 했는데 추가 질문이 있어 질문글을 작성합니다. https://www.inflearn.com/community/questions/1307477/copy-on-write-%EC%A0%84%EB%9E%B5%EC%97%90-%EB%8C%80%ED%95%B4-%EC%A7%88%EB%AC%B8-%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4 위 질문 글에서 2번 부분에 대해 추가 질문이 있습니다. 읽기/쓰기 레이어에서 index.html 파일을 여러번 수정하는 경우에 대해서 궁금한 부분이 있습니다. 완전 처음에는 얘기 해주신대로 읽기/쓰기는 텅 비어 있는 상태라 읽기 레이어의 index.html 파일을 그대로 복사해 와서 바뀐 부분만 있으면 수정한 후 사용합니다. 여기서 읽기/쓰기 index.html 파일이 한번 더 수정이 되면 읽기 레이어의 index.html 파일을 복사해 와서 기존에 있는 읽기/쓰기 레이어에서의 index.html 파일에서 바뀐 부분만 복사해온 index.html 파일에서 변경한 후 사용하는건가요? 정리하면 읽기/쓰기 index.html 파일을 여러번 수정해도 복사해서 가져오는 부분은 항상 읽기 index.html 파일이고 기존 읽기/쓰기 index.html 파일에서 바뀐 부분을 읽기 레이어에서 가져온 index.html 파일에 넣어서 만드는 건지 궁금합니다.

  • docker
  • 가상화
  • ci/cd
  • docker-compose
  • github-actions
  • docker-volume
  • docker-image
  • container
capstonefittrip 댓글 2 좋아요 1 조회수 181

역할과 정책에 관한 질문

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

IAM 설정을 처음해보면서 역할과 정책에 대한 개념이 아직 제대로 이해되지 않은거 같아 질문드립니다. '다른 AWS 리소스에 접근하기 위해선 역할이나 사용자를 생성해 그 안에서 정책을 연결해서 권한을 부여해야한다.' 이렇게 이해했는데 맞을까요? ec2에서는 역할을 만들때 정책을 생성했는데 CodeDeploy에서는 정책을 설정하지 않아도 되는 이유가 궁금합니다. EC2 인스턴스는 역할 연결을 통해, github actions는 엑세스 키를 통해 권한을 부여받는다고 이해했는데 맞을까요?

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
yso829612 댓글 1 좋아요 0 조회수 225

도커 이미지 푸시까지는 성공하나, ssh에서 fail이 나옵니다.

해결됨

비전공자도 이해할 수 있는 CI/CD 입문·실전

강의 및 노션에 있는 부분을 최대한 응용해서, next.js app을 생성중입니다. ecr 저장소에서 도커 이미지가 확실히 푸시되었지만, ssh접속에서 에러가 발생했습니다. ======CMD====== docker stop instagram-server || true docker rm instagram-server || true docker pull 767398114270.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest docker run -d --name instagram-server -p 3000:3000 767398114270.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest ======END====== err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/containers/instagram-server/stop": dial unix /var/run/docker.sock: connect: permission denied err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Delete "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/containers/instagram-server": dial unix /var/run/docker.sock: connect: permission denied err: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/images/create?fromImage=767398114270.dkr.ecr.ap-northeast-2.amazonaws.com%2Finstagram-server&tag=latest": dial unix /var/run/docker.sock: connect: permission denied 2024/08/13 11:11:21 Process exited with status 1 그래서 workflow를 수정했는데, 밑에 처럼 진행하니 정상처리가 되었습니다. - name: SSH로 EC2에 접속하기 uses: appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.EC2_HOST }} # 인스턴스의 퍼블릭 IP 또는 DNS 이름 username: ${{ secrets.EC2_USERNAME }} # 일반적으로 'ubuntu' 또는 'ec2-user' key: ${{ secrets.EC2_PRIVATE_KEY }} # SSH 개인 키 script_stop: true script: | aws ecr get-login-password --region ap-northeast-2 | sudo docker login --username AWS --password-stdin ${{ steps.login-ecr.outputs.registry }} sudo docker stop instagram-server || true sudo docker rm instagram-server || true sudo docker pull ${{ steps.login-ecr.outputs.registry }}/instagram-server:latest sudo docker run -d --name instagram-server -p 3000:3000 ${{ steps.login-ecr.outputs.registry }}/instagram-server:latest 혹시 제가 실수하거나 놓친 부분이있을까요??

  • aws
  • docker
  • ci/cd
  • github-actions
  • aws-code-deploy
  • infrastructure
  • aws-ec2
두뇌풀가동 댓글 1 좋아요 0 조회수 233

인기 태그

인프런 TOP Writers

주간 인기글