-
[Docker] 도커 설치하기 (1)공부/도커 & 쿠버네틱스 공부 2025. 12. 4. 16:02
1일차 docker 학습 목표
- 도커 및 컨테이너 개념 이해
- Docker Desktop Install
- 간단한 컨테이너 실습 (nginx 컨테이너 실행해보기)
1. 도커와 컨테이너란?
컨테이너란 애플리케이션이 실행되는데 필요한 모든 요소를 하나의 독립된 패키지로 묶어서
어디서든 동일한 환경에서 실행할 수 있도록 만든 격리된 실행 단위를 말한다.
예를 들어서 제가 학부생일때는 A 애플리케이션을 작성하고 같이 공부하는 친구에게
A 애플리케이션을 그대로 전달해줘도 실행되지않거나, 동일한 결과값이 출력되지 않는 등
환경이 다르거나, 중복된 설정을 변경해줘야하는 등 꽤나 복잡한 과정을 겪어야했다.
하지만 컨테이너를 이용하면 A 애플리케이션이 실행되던 환경 그대로 어디서든
실행가능하기 때문에 환경설정에 시간을 쓰지 않게될 수 있다는 커다란 이점이 있다 !!
그렇다면 도커는 뭘까? 도커는
도커는 위에서 설명한 컨테이너를 만들고, 배포하고, 실행하는 컨테이너를 관리하는 도구이다.
도커를 이용하면 빠르게 컨테이너를 배포할 수 있고 커스터마이징도 가능하다.
도커의 구조를 보면 다음과 같이 되어있다.

도커의 구조 그렇다면 컨테이너는 가상머신과 비슷해보이는데 둘의 차이는 뭘까?
컨테이너와 가상머신의 차이점은 가상머신의 경우 제어권이 게스트 운영체제에 있고
컨테이너는 호스트 운영체제 바로 위에서 실행되는 것이다.
이런 구조에서 속도는 컨테이너가 더 빠를 수 있지만 보안적인 관점으로보면
별개의 운영체제환경으로 분리된 가상머신이 보안적인 측면에서는 더 유리할 수 있다.
2. Docker 설치
도커는 리눅스 기반이다.
하지만 윈도우, 맥에서도 Docker Desktop을 이용하여 실행할 수 있다이번 실습에는 Docker Desktop을 사용해서 컨테이너를 실행시키는게 목표.
도커 데스크탑은 도커 홈페이지에서 다운로드 가능하다.
Docker: Accelerated Container Application Development
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.
www.docker.com
단, 구형 맥북 사용시 OS가 최신 버전이 아니라 ㅠㅠ 홈페이지 메인에서 다운로드하면 설치할 수 없다..
그럴때는 release note에 들어가면 구버전을 다운로드 가능하니 여기서 찾아보시길..
Release notes
Find the Docker Desktop release notes for Mac, Linux, and Windows.
docs.docker.com
아무튼 다운로드 후 설치 파일을 실행시켜서 드랍하면 설치는 끝난다.

맥은 너무 어려워요.. 1. 도커와 컨테이너란?

실행화면 3. Docker에서 nginx컨테이너 실행 nginx
이 부분은 유튜버에 실습강의를 올리신 악분님 영상을 가이드로 따라했다.
https://www.youtube.com/watch?v=QABk7Jam_qk
- 도커 컨테이너 실행 방법 (터미널에서 실행)
- 컨테이너를 다루는 모든 명령어는 docker 명령어로 시작된다.#도커 명령어 구조 $docker <커맨드> <옵션> <대상> <인자> #nginx 실행 (사전에 다운로드하지 않았다면 pull로 가져오기 부터 실행된다.) #$docker 실행커맨드 <도커이미지> $docker run nginx:latest #실행된 도커 확인 $docker ps
다운로드 중 
컨테이너 항목으로 들어가면 정상적으로 실행되는 것을 확인 할 수 있다.

하지만, ps 명령어로 조회해서 localhost로 80포트 접속을 하려하면 접속이 안된다..
접근이 왜 안될까?
컨테이너는 고유의 환경에서 80포트 오픈하고 있다.
하지만 외부 운영체제 즉, 내 PC에서 80포트를 오픈한게 아니다.
따라서 운영체제에서 접속하기 위해서는 포트포워딩을 해줘야한다.
그러면 기존 컨테이너를 종료시키고 아래 명령어로 다시 실행해보자.
$docker run -p <운영체제포트>:<도커 컨테이너 포트> nginx:latest #예 : docker run -p 8090:80 nginx:latest
성공적으로 접속 완료! 실습이 끝나면 중지 - 삭제 명령어 순으로 종료 시키는 습관을 만들어두자!
docker stop <컨테이너명> docker rm <컨테이너명>'공부 > 도커 & 쿠버네틱스 공부' 카테고리의 다른 글
[Docker] 레드마인 및 MariaDB 컨테이너 생성 실습 (3) (0) 2025.12.08 [Docker] 컨네이너로 데이터베이스, 워드프레스 만들기 (2) (0) 2025.12.05