docker

1. Github Secrets 설정  Github Actions를 적용할 Repo의 Setting에서 Secrets and variables에 들어가주면New repository secret로 환경 변수를 설정할 수 있음 DOCKERHUB_USERNAME=> Docker Hub 사용자 이름DOCKERHUB_PASSWORD=> Docker Hub 비밀번호EC2_HOST=> EC2 퍼블릭 IPEC2_USER=> EC2에 SSH로 접속할 때 사용할 사용자 이름임(우분투 EC2를 사용중이기에 ubuntu로 지정하였음)EC2_SSH_KEYhttps://hanjungyo.tistory.com/127 Jenkins을 이용한 Spring Boot 배포 자동화로컬에서 Spring Boot 빌드하고 docker imag..
·🌊 Infra/Docker
국민대학교에서 "클라우드 컴퓨팅" 교과목을 진행하시는이경용 교수님의 강의 교안을 이용하여 수업 내용을 정리하였습니다  시스템 가상화 기술 Virtual Machine  Hypervisor (Virtual Machine Monitor)를 통한 여러 운영체제간 독립적 환경 제공각 VM은 독립적인 별도의 커널(운영체제), 시스템 프로세스 등을 관리하게됨=> 추가 오버헤드가 클 수 있음각각의 VM은 별도의 커널을 가질 수 있기에, 서로 다른 운영체제의 동시 동작 가능VMM을 통한 자원 공유로 인해 VM 간 간섭은 덜하지만 오버헤드가 있어 monolithic 구조에 적합Container Technologies Container  호스트 운영체제내에서 동작하며 커널 및 많은 시스템 자원을 호스트 기기와 공유극단적으..
·🌊 Infra/AWS
EC2에 mysql을 docker를 이용해서 올려보자  https://hanjungyo.tistory.com/74 [Spring Boot] Docker를 이용해 EC2에 배포해보기EC2 인스턴스 생성 방법은 이전 포스팅을 참고해주세요!로컬에서 Docker 설정 Jar 파일 빌드하기 보통 빌드를 할 때 ./graldew clean build 를 많이 봤을텐데  이번에는 ./gradlew clean bootJar를 통해 Spring Bhanjungyo.tistory.com EC2에 docker가 설치되어있지 않다면 위 링크의 docker 설치하기 부분을 참고  EC2에 ssh로 접속을 하고 MySQL Docker Image 다운로드 sudo docker pull mysql // 제일 최신 버전 다운로드// ..
EC2 인스턴스 생성 방법은 이전 포스팅을 참고해주세요!로컬에서 Docker 설정 Jar 파일 빌드하기 보통 빌드를 할 때 ./graldew clean build 를 많이 봤을텐데  이번에는 ./gradlew clean bootJar를 통해 Spring Boot 애플리케이션을 위한 실행 가능한 JAR파일만 생성했음  ./gradlew build는 bootJar를 포함하여 내부 동작이 더 길다반면, bootJar의 경우 단순히 프로젝트의 jar파일을 만드는 목적으로 빌드 속도가 빠르다(clean 작업은 build/ 와 같은 빌드 산출물 디렉토리를 삭제하여 이전 빌드 결과물을 모두 제거함) Dockerfile 생성하기# Dockerfile# jdk17 Image StartFROM openjdk:17# jar..
·🌊 Infra/Docker
Docker를 알아보기 위해서는 컨테이너와 가상화에 대해 먼저 이야기를 해야한다! 컨테이너 그럼 컨테이너란 무엇일까? 소프트웨어와 SW를 실행하기 위해 필요한 모든 구성 파일을 포함한 소프트웨어 패키지라고 생각하면 됨! 컨테이너가 왜 필요할까? 만약 FastAPI 와 Flask를 이용해 각각 서버를 구축하기 위해 로컬에 직접 python 라이브러리들을 설치했다고 생각해보자 프로젝트 간 라이브러리 의존성 충돌 문제, python 버전 충돌 문제 등등 여러 문제들이 발생할 수 있다 => 이를 위해 프로젝트(서비스)마다 컨테이너를 만들어서 환경을 격리하는게 좋음!   Dockerfile은 만들고자 하는 컨테이너의 세부사항을 적어놓은 파일이고Requirements.txt는 컨테이너 내부에 설치할 파이썬 라이브러..