개요N의 공상이라는 프로젝트를 진행하면서, Spring 프로젝트와 MySQL 컨테이너를 실행시켜야 하는데, 두 개를 따로 하는 것보다는 Docker Compose라는 Docker의 기술을 활용한다면 더욱 쉽게 관리할 수 있을 것 같아서 도커 컴포즈에 대한 내용을 공부하고 정리해보자!1. 도커 컴포즈(Docker Compose)란?여러 컨테이너를 동시에 관리하고 구성할 수 있도록 도와주는 도구이다.단일 어플리케이션을 실행하기 위해 여러 서비스(ex : 웹 서버, 데이터베이스)가 필요한 경우, 이를 하나의 설정 파일로 정의하고 손쉽게 실행, 관리할 수 있도록 설계되었다. 1-1. 사용 이유?-> 간편한 설정 관리: 하나의 YAML 파일에 여러 컨테이너의 설정을 정의할 수 있다. -> 효율적인 멀티 컨테이너 ..
개요스프링 프로젝트를 이미지로 만들어야 하는데, 일단 이미지를 생성하기 위해서는 Dockerfile이 필요하다! 그래서 정리해보려고 한다. 1. 도커파일(Dockerfile)이란?도커파일은 도커 이미지를 구성하고 정의하는 명령어들의 집합으로 이루어진 텍스트 파일이다. 1-1. 도커 이미지와 도커파일 관계: 도커파일-> 도커 이미지를 구성하고 생성할지에 대한 '설계도' : 도커 이미지-> 애플리케이션, 라이브러리, 실행 환경을 포함하는 격리 단위 1-2. 도커 파일의 필요성1) 환경 일관성-> 모든 환경에서 동일하게 동작하기 때문에 개발, 테스트, 운영에 동일한 프로세스를 구축할 수 있다. 2) 배포 자동화-> 애플리케이션 배포 과정을 자동화해 수작업으로 인한 오류를 줄이고, 배포 시간을 단축한다. 3) ..
개요바로 이전글에서 도커에 대한 간단한 정리를 했다. 도커와 VM의 차이점과 VM이 아닌 도커를 사용하는 이유, 도커 아키텍처 및 구성요소들.Client Docker Host Registry도커 파일, 이미지, 컨테이너, 엔진 등의 정리! 오늘은 도커에 기본적인 명령어에 대해 알아볼 계획이다. 1. 컨테이너 관리 명령어Docker의 명령어는 컨테이너 관리, 이미지 관리, 네트워크 관리, 불륨 관리 등으로 나눌 수가 있다. 1) docker run-> 새로운 컨테이너를 생성하고 실행한다.docker run [옵션] 이미지명 [명령어]//Nginx 웹 서버 컨테이너 실행docker run -d -p 80:80 --name mn nginx 위의 명령어는 Nginx 이미지를 기반으로 백그라운드에서 컨테이너..
개요새로운 프로젝트가 끝나고, 안드로이드에서 벗어나고 싶은 마음이 컸다. 이번에 함께한 동기들과 프로젝트를 또 하기로 했는데 안드로이드 말고, 백엔드나 인프라 쪽을 해보고 싶었고, 내가 선택한 것은 인프라였다! 나중에 안드로이드 배포할 때도 큰 도움이 되겠지 그래서 Docker에 대해 하나씩 정리해볼 계획이다. 1. Docker란?Docker는 애플리케이션과 실행 환경을 컨테이너라는 단위로 묶어서 배포 또는 일관된 환경에서 애플리케이션을 실행할 수 있도록 하는 오픈 소스 가상화 플랫폼이다. Docker를 활용한다면 개발과 운영 환경의 차이에서 발생하는 문제를 최소화하고, 소프트웨어의 배포와 실행을 더 간단하고 일관성있게 만들어줄 수 있다. 1-1. 가상화기술?가상화 기술은 하나의 물리적인 하드웨어에서 여..