Container 3

[Docker] Dockerfile을 이용해 SpringApplication 빌드 및 실행

Dockerfile을 이용해서 image를 생성하고, SpringWebApplication을 실행해보려고 합니다. dependency는 Spring Web만 추가하면 끝입니다. 우선 여기서 build를 진행해 줘야 jar파일이 생깁니다. 이후 cd build/libs로 이동하면, 다음과 같이 jar파일이 있음을 확인하실 수 있습니다. 추가적으로 도커로 실행하기 위해 openjdk 11 images을 다운로드 받아야 합니다. (docker pull openjdk:11-jre-slim) .jar파일이 있는 곳에 Dockerfile을 작성해야 합니다. FROM : [images name]:[tag name] ARG: build 시점에만 사용되는 변수 COPY: JAR_FILE의 변수를 app.jar로 복사 E..

DevOps/Docker 2023.09.14

[Docker] Docker, Docker-Compose, Dockerfile

일반적으로 Docker는 단일 컨테이너 기반의 응용 프로그램을 실행하고 관리하는 도구입니다. 여러 개의 컨테이너로 구성된 복잡한 애플리케이션을 동시에 실행할 때는 Docker-compose를 이용하게 됩니다. 우선, Docker에서 애플리케이션이 구동되는 과정에 대해 상세하게 설명드리겠습니다. Docker는 컨테이너를 만들고 배포하고 구동하기 위한 기술입니다. 이제 컨테이너가 어떻게 만들어지는지 알아보기 전에 Linux OS에서 Docker를 사용하는 방법 2가지에 대해 간단히 설명드리겠습니다. VirtualBox, VMware 같은 VM위에 Linux OS를 설치하고 Docker 실행 Docker Desktop처럼 Docker를 실행하는데 필요한 Linux OS를 포함하는 패키지 설치 Container..

DevOps/Docker 2023.08.31

[Docker] Container vs VM

Container와 VM은 애플리케이션을 it 인프라 리소스로부터 독립적으로 만드는 기술입니다. 컨테이너는 애플리케이션을 구동하기 위해 필요한 설정파일, 라이브러리, 환경 설정 등이 담겨있는 패키지입니다. 애플리케이션의 이미지를 개별적인 파일 시스템 안에서 실행할 수 있습니다. 가상 머신은 하나의 Host OS에서 개별적인 운영체제를 실행할 수 있을 뿐만 아니라, 애플리케이션을 실행하는데 필요한 파일들이 포함된 가상 머신을 생성할 수 있습니다.(Host OS와 분리된 Guest OS 환경에서 개발 및 테스트 진행) 이들의 차이점을 파악하고 Container 기반 기술인 Docker의 장점을 알아보려고 합니다. VM (Virtual Machine) 가상 머신은 물리적인 서버 위에서 Hypervisor(Vi..

DevOps/Docker 2023.08.31