폐쇄망 Docker 구축 전 기초 가이드
KUKJIN LEE • 1일 전 작성
Docker는 애플리케이션을 컨테이너라는 독립된 환경에서 실행할 수 있도록 도와주는 오픈소스 플랫폼입니다.
Docker란 무엇인가?
Docker는 애플리케이션과 그 실행 환경을 컨테이너라는 가상화된 환경에 패키징하여 배포하고 실행할 수 있도록 도와줍니다.
아래 2개를 잘 살펴봐야합니다.
-
이미지 (Image)
-
애플리케이션 실행에 필요한 파일과 설정을 포함한 불변의 템플릿.
-
예: MySQL, Tomcat 등.
-
-
컨테이너 (Container)
-
이미지를 실행한 상태의 인스턴스.
-
독립된 환경에서 실행되며, 필요한 리소스만 공유합니다.
-
Docker 설치 방법 (Mac 기준)
폐쇄망 Linux 환경에서는 GUI 사용이 제한적이나, 편의를 위해 GUI를 통해 설명드리겠습니다.
Docker Desktop 설치
-
Docker 공식 사이트에 접속.
-
Mac용 Docker Desktop을 다운로드.
-
설치 후 실행하고 Docker가 정상적으로 작동하는지 확인.
docker --version
기본 설정 확인
-
Docker Desktop 실행 후, Docker Engine이 활성화되어 있는지 확인.
-
Mac 터미널에서 다음 명령어로 확인.
docker info
성공적으로 출력되면 설치가 완료된 것입니다.
주요 Docker 명령어
이미지 관련 명령어
이미지 다운로드
docker pull <이미지 이름>:<태그>
예: MySQL 최신 버전 다운로드
docker pull mysql:latest
이미지 목록 확인
docker images
이미지 삭제
docker rmi <이미지 ID>
컨테이너 관련 명령어
컨테이너 실행
docker run -d --name <컨테이너 이름> <이미지 이름>:<태그>
예: MySQL 컨테이너 실행
docker run -d --name my-mysql -e MYSQL_ROOT_PASSWORD=root_password -p 3306:3306 mysql:latest
실행 중인 컨테이너 확인
docker ps
컨테이너 정지
docker stop <컨테이너 ID 또는 이름>
컨테이너 삭제
docker rm <컨테이너 ID 또는 이름>
Docker의 장점
-
이식성: 동일한 설정으로 어디서나 애플리케이션 실행 가능.
-
효율성: 컨테이너는 필요한 리소스만 사용하므로 가볍고 빠름.
-
확장성: 분산 환경에서 쉽게 확장 가능.
-
의존성 관리: 애플리케이션과 모든 의존성을 컨테이너에 포함.
주의사항
-
Docker는 호스트 OS와 리소스를 공유하므로, 컨테이너가 많아지면 성능 저하가 발생할 수 있습니다.
-
Docker Compose나 Kubernetes를 활용하면 여러 컨테이너를 효율적으로 관리할 수 있습니다.