Backend

기존에 잘 실행되던 프로젝트였다. 알 수 없는 에러를 만났다. 뭘 죄다 찾을 수 없단다. 의존성, 플러그인 다 문제 없었다. terminal 창에서 ./gradlew clean 을 해주니 정상 작동한다.
1. 도커 컴포즈란? 시스템 구축과 관련된 명령어를 하나의 텍스트 파일에 기재해 시스템 전체를 실행하고 종료, 폐기 과정을 하나의 명령어로 처리하도록 하는 도구다. YAML포맷으로 기재한 정의 파일을 이용한다. 작성 내용은 도커 명령어와 비슷하다. Dockerfile은 이미지만 생성할 수 있으나, 도커 컴포즈는 네트워크와 볼륨도 생성할 수 있다. up 커맨드 : docker run 커맨드와 비슷하다. 이미지를 내려받고 컨테이너를 생성 및 실행한다. down 커맨드 : 컨테이너와 네트워크를 정지 및 삭제한다. 볼륨과 이미지는 삭제하지 않는다. stop 커맨드 : 컨테이너와 네트워크를 삭제하지 않고 종료하고 싶을 때 사용한다. 2. 도커 컴포즈 사용법 미리 정해진 docker-compose.yml 이라는 이..
1. 스토리지 마운트 종류 볼륨 마운트 도커 엔진이 관리하는 영역 내에 만들어진 볼륨을 컨테이너에 디스크 형태로 마운트 한다. 이름만으로 관리가 가능해 다루기 쉬우나 볼륨에 비해 직접 조작하기 어렵다. 임시 목적으로 사용하거나 자주 쓰진 않지만 지우면 안 되는 파일을 두는 목적으로 사용한다. 바인드 마운트 도커가 설치된 컴퓨터의 문서 폴더 등 도커 엔진에서 관리하지 않는 영역의 기존 디렉터리를 컨테이너에 마운트 한다. 폴더 속에 파일을 직접 두거나 확인할 수 있기 때문에 자주 사용하는 파일을 둔다. 항목 볼륨 마운트 바인드 마운트 스토리지 영역 볼륨 디렉터리 or 파일 물리적 위치 도커 엔진 관리 영역 어디든 마운트 절차 볼륨 생성 후 마운트 기존 파일 or 폴더 마운트 내용 편집 도커 컨테이너를 통함 ..
1. Gradle 기반 프로젝트 생성하기 간단한 Spring Boot 프로젝트를 생성한다. DB는 사용하지 않았다. MVC 모델로 구성했다. 2. 프로젝트 빌드하기 프로젝트를 빌드하면 아래와 같이 .jar 파일이 생성된다. 파일명은 프로젝트명-[Gradle에서 설정한 버전] 으로 생성된다. 3. Dockerfile 작성하기 멀티 스테이지로 작성했다. 우선 프로젝트를 빌드한다. 빌드 스테이지에서 RUN를 두 번 하는데 이는 의존성이 변경된 경우에만 의존성 RUN을 한다. 앱 스테이지에서는 빌드 스테이지의 산출물인 jar 파일을 복사한다. FROM gradle:8.5-jdk17 as builder WORKDIR /build COPY build.gradle settings.gradle ./ RUN gradle..
1. 컨테이너와 호스트 사이에 파일 복사 이미지 레이어는 읽기 전용이다. 그러나 기존 이미지 레이어에 있는 파일을 수정할 수 있다. 컨테이너에서 이미지 레이어에 포함된 파일을 수정하려면, 도커가 파일을 쓰기 가능 레이어로 복사해 수정한다. 컨테이너나 애플리케이션에서는 이 과정이 드러나지 않지만, 도커가 스토리지를 효율적으로 사용하는 이유다. cp 명령어를 이용한다. docker cp [원본경로] [복사할경로] 호스트 -> 컨테이너 : docker cp [host 파일경로] [container 이름]:[container 내부 경로] 컨테이너 -> 호스트 : docker cp [container 이름]:[container 내부 경로] [host 파일경로] 디렉터리를 경로로 지정한 경우 디렉터리 전체를 통채로..
1. 레지스트리, 리포지처리, 이미지 태그 다루기 이미지가 저장되는 서버다. 도커 허브는 도커 레지스트리 중에 가장 유명한 레지스트리다. 이미지의 전체 이름은 4 개의 구성 요소로 이루어진다. docker.io/diamol/golang:latest docker.io : 이미지가 저장된 레지스트리의 도메인이다. (default 도커 허브) diamol : 이미지 작성자의 계정 이름이다. - pull은 누구나 가능하지만 push는 소속원만 가능하다. golang : 이미지릐 리포지터리 이름이다. 애플리케이션의 이름이다. latest : 이미지 태그다. 애플리케이션의 버전을 나타낸다. 2. 도커 허브에 이미지 푸시하기 이미지 푸시에는 두 가지 절차가 필요하다. 도커 명령행을 통해 레지스트리에 로그인을 하고, ..
abbiddo
'Backend' 카테고리의 글 목록