Search
📒

1-3. Docker Setting

Docker는 컨테이너 기반의 가상화를 가능하게 해주는 소프트웨어의 일종으로서, 하나의 어플리케이션이 필요로 하는 환경을 컨테이너라는 단위로 묶어서 다양한 컴퓨터에서 해당 컨테이너를 실행하도록 합니다. 컨테이너 내부에 어플리케이션이 필요로 하는 것들이 다 있으므로, 실제 물리적 하드웨어의 OS에 영향을 받지 않고 어플리케이션의 배포가 가능해지며, 다양한 환경을 필요로 하는 다수의 어플리케이션을 하나의 컴퓨터에서 구동하기 편리하게 됩니다.
가상머신과 유사하다고 느낄수도 있으나, 가상머신은 서버 OS 위에 별도의 OS를 새롭게 올려서 작동하는 반면 컨테이너는 하나의 OS에 구획을 나누어서 사용하게 됨으로, 가상머신에 비해 속도가 빠르며 가볍습니다.
일반적인 웹 개발에는 Java 언어를 활용하기 위한 IDE 외에도 다양한 부수적 소프트웨어가 필요합니다. 대표적으로 MySQL과 같은 데이터베이스 시스템이 필요합니다. 이러한 소프트웨어를 설치하는 과정은 다 별개로 이뤄지며, 사용하는 OS 등에 의해 필요한 작업이 다른 경우도 빈번합니다. Docker가 정상적으로 설치되어 있는 경우 이 과정을 일련의 명령어로 축약시킬 수 있습니다.
Windows를 사용하던 Macos를 사용하던, Docker Desktop을 설치할 수 있습니다. Docker Desktop을 설치하면 CMD나 Terminal을 이용해 필요한 작업을 진행할 수 있습니다.
Docker Desktop이 정상적으로 설치가 되었다면, CMD 또는 Terminal을 실행하여
docker run -d -p 80:80 --name hello-docker docker/getting-started
Plain Text
복사
를 실행하고, http://localhost/ 로 이동해 봅시다.
위와 유사한 화면이 나오면 다시 아래의 명령어를 실행하여 정리합시다.
docker rm -f hello-docker
Plain Text
복사

명령어 정리

docker : Docker Daemon에 요청을 보낸다.
실행 명령어
run : 컨테이너를 실행한다.
-d : Detached, 컨테이너를 Background에서 실행하는 옵션
-p : Port, 컨테이너의 포트를 물리 서버(컴퓨터)의 포트와 연결한다.
--name : 실행할 컨테이너의 이름을 설정한다. (기능적 차이 없음)
docker/getting-started : 컨테이너로 실행할 이미지의 이름
종료 명령어
rm : 컨테이너를 제거한다.
-f : 컨테이너의 실행 여부를 무시한다.