Docker5 스프링 빌드 시 Docker Container Image 생성 후 DockerHub push 자동화 하기 사이드 프로젝트를 진행하면서 아직 초기단계라 간단하게 백엔드 프로젝트를 docker hub에 배포하여 클라이언트가 간단하게 서버를 띄워서 API를 요청할 수 있게끔 하고있다. 스프링에서 제공하는 bootBuildImage 커맨드를 사용하여 이미지를 생성 후 docker hub에 푸시하고 있는데, 명령어를 굳이 두번 날리지 않아도 build.gradle에서 도커라이징 -> 도커허브에 배포 까지 자동으로 해주는 설정이 있다는 것을 알게되었다. tasks.named("bootBuildImage") { imageName.set("docker.example.com/library/${project.name}") publish = true docker { publishRegistry { username = "user.. 2023. 2. 21. [Docker] Docker&Container 기본 개념 도커로 간단하게 컨테이너를 실행시키고 프로젝트를 빌드해본 적은 있지만 도커가 무엇이고 컨테이너란 무엇인지 그리고 도커를 왜 사용해야 하는지에 대해서 제대로 공부해본 적은 없는 것 같다. 마침 Udemy에서 할인 이벤트를 진행하고 있길래 docker&kubernetes 강의를 결재했다. 언젠간 공부해야 하는데 책 보고 하긴 귀찮고 마침 강의도 싸니까 강의 보면서 삽고수가 떠맥여주는 강의 내용을 간단하게 정리해보고자 한다. 도커가 무엇인지에 대한 질문을 던지기 전에 컨테이너란 무엇인지를 짚고 넘어가보자. 컨테이너란? 표준화된 소프트웨어 유닛. 기본적으로 코드 패키지라고 볼 수 있으며 해당 코드를 실행하는데 필요한 종속성과 도구가 포함되어있어야 한다. 예를 들어서 Node.js 애플리케이션을 구축하는 경우를.. 2022. 6. 2. EC2 환경에서 docker로 무중단 배포 과정 중 ScriptTimedOut 오류(Docker 권한 ) EC2 환경에서 nginx, docker로 springboot 프로젝트를 무중단 배포하는 과정에서 무수히 많은 삽질을 경험했다. 먼저 CI/CD는 Travis CI와 AWS S3, CodeDeploy를 사용했다. 배포 스크립트 파일은 해당 레파지토리에서 확인이 가능하다. ApplicationStart 이벤트가 발생할 때 다음과 같이 ScriptTimedOut 오류가 발생하였다. CodeDeploy 로그를 보아하니... dockerfile이 빌드될 때 Already exists 메시지를 호출하는 것을 볼 수 있다. dockerfile로 컨테이너를 빌드하는 과정에서 이미 동일한 이름의 docker 컨테이너가 존재하기 때문에 생성되지 못하고 결국 ScriptTimedOut 오류가 발생한 것으로 추측된다. 알고.. 2022. 4. 15. [AWS] CloudWatch를 활용한 docker 이미지 로그 관리하기 ec2 안에서 도커 컨테이너를 실행시키면 컨테이너 내부에 로그가 쌓이게 됩니다. 하지만 컨테이너가 중지되면 로그도 날아가기 때문에 이를 위해서 AWS에서 제공하는 cloudWatch를 활용하여 로그를 관리할 수 있습니다. Docker Container를 실행시키고 CloudWatch를 통한 로그 백업을 간단하게 실습해보는 스터디 내용을 정리해 보았습니다. 1. EC2에서 CloudWatch 서비스를 액세스할 권한 부여 1) CloudWatchFullAccess 역할 생성 CloudWatch를 사용하기 위해서는 가장 먼저 EC2에서 CloudWatch에 서비스를 액세스 할 권한을 부여해주어야 합니다. 그러기 위해서는 먼저 IAM에서 CloudWatchFullAccess라는 역할을 생성해주어야 합니다. Cl.. 2022. 3. 6. [Docker] Docker로 jar파일 이미지 빌드하기 간단하게 spring boot jar파일을 도커 이미지로 생성하고 컨테이너를 실행해서 서버를 띄워보는 스터디 과정을 정리한 글입니다. docker 이미지를 생성하기 앞서 전체적인 순서를 정리해보았습니다. 1. 이미지를 빌드할 때 실행시킬 jar 파일을 준비합니다. 2. 이미지를 생성하기 위해 필요한 Dockerfile을 작성합니다. 3. 이미지를 빌드합니다. 4. 컨테이너를 실행시켜 spring boot 서버를 띄웁니다. jar파일 준비 인텔리제이 우측 상단에 Gradle탭 > Task > boot.jar를 실행해줍니다. 빌드가 성공하면 프로젝트 build > libs 경로에 jar파일이 생성됩니다. Dockerfile 작성 Dockerfile이란? Dockerfile은 사용자가 이미지를 생성할 때 사용.. 2022. 2. 19. 이전 1 다음 반응형