클라우드 컴퓨팅 & NoSQL/Docker

    Docker Image 사이즈 줄이기

    Docker Image 사이즈 줄이기

    들어가며 이번 포스팅에서는 효과적으로 Docker image를 빌드하여 사이즈를 줄이는 방법에 대해서 알아보도록 한다. 필자는 주로 Spring Boot App을 빌드/배포한다. 오늘 다룰 조사내용을 알게 되기 이전에는 이미지의 크기가 마이크로서비스 하나당 약 700M 정도 잡아먹었다. 하지만 지금은 약 300M 정도까지 줄여서 사용하고 있다. ( x 마이크로 서비스 갯수 x 버전별 이미지 이런 식으로 계산해 보면 레이어가 재활용된다고 해도 생각보다 큰 용량을 차지하게 된다.) Docker Image에 대하여 Docker Image는 원하는 프로세스를 구동하기 위한 모든 파일들을 한번에 묶은 것이다. Docker Image는 순수한 파일들의 집합으로써 메모리 정보나 독자적인 형식으로 저장된 시스템 정보 ..

    [도커(Docker)] 도커 컴포즈(Docker compose) 사용법

    [도커(Docker)] 도커 컴포즈(Docker compose) 사용법

    이번 포스팅의 주제는 도커 컴포즈(Docker Compose)를 사용하는 방법에 관한 것이다. Overview of Docker Compose docs.docker.com 도커 컴포즈는 여러대의 컨테이너 Docker 애플리케이션을 정의하고 실행하기 위한 도구다. YAML 파일을 사용하여 애플리케이션의 서비스를 구성한다. 1. 도커(Docker) 설치 # 도커 설치 $ sudo yum install -y docker # 도커 서비스 시작 $ sudo systemctl start docker.service # 도커에 로그인 $ docker login 2. 도커 컴포즈(Docker compose) 설치 # root 계정으로 진입 $ su # 도커 컴포즈 설치 $ curl -L "https://github.co..

    도커 컨테이너(Docker container) 빌드하기

    도커 컨테이너(Docker container) 빌드하기

    이번 포스팅에서는 간단하게 도커 컨테이너 빌드하는 방법에 대해 정리하도록 한다. 컨테이너 빌드 순서 컨테이너 빌드하는 실행 순서는 다음과 같다. 디렉터리를 준비하여 이미지에 포함시킬 파일들을 모음 *Dockerfile을 작성 컨테이너에서 실행할 애플리케이션 코드를 작성하고 유닛 테스트를 실행 이미지를 빌드 컨테이너를 실행하고 동작을 확인 * Dockerfile: 도커 이미지를 빌드하는 스크립트 파일로써, 다음과 같은 내용을 담고 있다. 베이스 이미지의 repository 설치할 패키지 애플리케이션 코드와 설정 파일 컨테이너 기동 시 실행될 명령어 1. 작업 파일 만들기 컨테이너를 빌드하기 위해서 먼저 작업 파일을 만든다. 예제에서 작업 파일 이름은 'Step03'으로 만들었다. $ mkdir Step03..

    도커(Docker) docker run <image>의 실행순서

    도커(Docker) docker run <image>의 실행순서

    이번 포스팅에서는 docker run 의 작동원리에 대해서 살펴보도록 한다. docker run 명령어에는 여러 가지 옵션이 있지만, 제일 기본적인 명령은 이미지를 이용해 컨테이너를 바로 동작시키는 것이다. 아래의 명령어를 이용하여 hello-world를 실행시켜 보도록 한다. $ docker run hello-world 아무 옵션을 주지않고, docker run hello-world를 실행하면 위와 같은 실행결과를 얻을 수 있다. 출력되는 내용을 요약하자면 hello-world라는 이미지를 로컬에서 찾을 수 없어서, 최신 hello-world 이미지를 풀링 한 다음 실행한다는 것이다. 위의 과정을 다이어그램으로 나타내면 다음과 같다. Docker CLI가 "run" 명령을 받고 docker server..

    도커(Docker)를 사용하는 이유

    도커(Docker)를 사용하는 이유

    이번 포스팅은 도커를 사용하는 이유에 대해서 알아보는 것이다. 도커를 사용하는 이유를 알기 위해서 반적인 소프트웨어 설치방식을 이해해야 한다. 일반적인 소프트웨어 설치방식은 다음 그림과 같다. 어떤 소프트웨어를 사용하기 위해서 우리는 설치 파일을 다운로드하고 실행한다. 설치를 하다가 오류가 발생하면 스택오버플로우나 구글 검색을 통해서 오류 해결방법을 찾아내서 적용한다. 그리고 인스톨을 계속 실행하다가 다른 에러를 만나게 된다. 그러면 이전과 같이 오류를 해결할 수 있는 방법을 계속 검색해야 하고, 이 과정은 소프트웨어가 잘 설치될 때까지 반복된다. 도커는 이러한 문제점을 해결한다. 설치나 의존성에 대한 걱정 없이 쉽게 소프트웨어를 설치, 실행할 수 있도록 함 이것이 도커를 사용하는 이유이다. 필자는 소프..

    [Docker] Container 를 사용하는 이유

    [Docker] Container 를 사용하는 이유

    Container를 사용하는 이유는 다음과 같다. 인프라의 사용률 향상 하나의 서버 위에서 여러 개의 Container를 사용할 수 있는데 이렇게 되면 여러 개의 서비스를 하나의 서버에서 동작시킬 수 있으므로 CPU와 메모리 사용률을 높여 하드웨어를 효율적으로 이용할 수 있다. 빠른 속도로 인프라 구축 가능 운영체제, 애플리케이션, 미들웨어 등 다양한 이미지를 쉽게 얻을 수 있다. Docker의 경우 Docker Hub에서 여러 사람들이 만들어놓은 이미지를 받을 수 있다. 또한 설치 작업이나 설정 작업이 현저히 줄어들고, 환경설정 및 Dependency를 오브젝트로 작성할 수 있다. 불변 실행 환경 애플리케이션 실행에 필요한 모든 재원을 포함하여 컨테이너를 작성할 수 있다. 오픈소스 프로젝트는 빈번하게 ..

    [Docker] Maria DB container 백업하기

    [Docker] Maria DB container 백업하기

    Docker를 이용하여 Maria DB를 사용할 때 백업을 진행하려면 다음의 공식 가이드를 참고한다. hub.docker.com/_/mariadb mariadb We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy hub.docker.com Creating database dumps $ docker exec..