1 분 소요

도커를 설치해보았다!!

도커 설치하기

이번에 도커를 설치하게 된 계기는 단순하다. Medium이라는 블로그에서 동키카에서 멀티플레이 기능을 통해 가상의 리그를 추진하는 방법에 대해서 나와있는 글(링크) 을 보았는데, 이를 위해서는 Docker기술을 써야 한다고 한다. (잘은 모르겠지만, 여러개의 차량을 하나의 컨테이너에 담아야 한다나 뭐라나ㅇㅇ)

도커를 설치하는 부분에 대해서는 따로 다루지 않겠다. 우리가 설치해야할꺼는 Docker뿐만 아니라 Docker-compose도 있다.

Docker-compose란?

image-20240225014359925

도커-컴포즈는 단일 서버에서 여러개의 컨테이너를 하나의 서비스로 정의해 컨테이너의 묶음으로 관리할 수 있는 작업 환경을 제공하는 관리 도구라고 한다.

그러면 이거를 왜 설치할까?

여러개의 컨테이너가 하나의 어플리케이션으로 동작할때 docker-compose를 사용하지 않는다면, 이를 테스트하려면 각 컨테이너를 하나씩 생성해야 한다. 예를 들면, 웹 어플리케이션을 테스트하려면 웹 서버 컨테이너, 데이터베이스 컨테이너 두개의 컨테이너를 각각 생성해야 한다.

즉, 아래와 같이 두개의 run 명령어를 입력해야 한다.

$ docker run --name wordpress_db -d mysql:8
$ docker run -d -p 8080:80 \
--link wordpress_db:mysql --name sungwoong_wordpress \
wordpress:latest

위의 예제를 실행하면 wordpress와 mysql 컨테이너를 생성한다. 이처럼 여러개의 컨테이너로 구성된 어플리케이션을 구축하기 위해 run 명령어를 여러번 사용할 수 있지만 각 컨테이너가 제대로 동작하는지 확인하는 테스트 단계에서는 이런 식으로 일일히 여러개의 컨테이너를 실행하기는 번거롭다. 매번 run 명령어에 옵션을 설정해 CLI로 컨테이너를 생성하기보다는 여러 개의 컨테이너를 하나의 서비스로 정리해 컨테이너 묶음으로 관리할 수 있다면 좀 더 편리할 것입니다. 이를 위해 도커 컴포즈는 컨테이너를 이용한 서비스의 개발과 CI를 위해 여러개의 컨테이너를 하나의 프로젝트로서 다룰 수 있는 작업환경을 제공한다고 한다.

도커 컴포즈는 여러개의 컨테이너의 옵션과 환경을 정의한 파일을 읽어 컨테이너를 순차적으로 생성하는 방식으로 동작합니다. 도커 컴포즈의 설정 파일은 도커 엔진의 run 명령어의 옵션을 그대로 사용할 수 있으며, 각 컨테이너의 의존성, 네트워크, 볼륨 등을 함께 정의할 수 있습니다. 또한 스웜모드의 서비스와 유사하게 설정 파일에 정의된 서비스의 컨테이너 수를 유동적으로 조절할 수 있으며, 컨테이너의 서비스 디스커버리도 자동으로 이뤄집니다. 그래서 컨테이너의 수가 많아지고 정의해야 할 옵션이 많아지고 정의해야 할 옵션이 많아진다면 도커 컴포즈를 사용하는 것이 좋습니다.

언어:

카테고리:

업데이트:

댓글남기기