도커는 어플리케이션과 그 실행환경을 함께 패키징하여 어디서나 동일하게 실행할 수 있도록 돕는 도구다.
즉, 소프트웨어를 컨테이너라는 독립된 단위로 묶어서, 개발환경, 테스트 환경, 실제 운영환경 간의 차이를 줄여줍니다.
몇가지 주요개념
- 컨테이너 Container
어플리케이션 실행에 필요한 코드, 라이브러리, 환경 설정 등을 함께 포함하는 가벼운 가상화 단위이다.
이는 서로 격리되어 실행되며, 시스템 리소스를 효율적으로 사용할 수 있게 한다.
- 이미지 Image
컨테이너를 생성하기 위한 템플릿이다. 개발자가 어플리케이션 환경을 정의하면, 이를 기반으로 컨테이너가 만들어진다.
- 도커파일 DockerFile
이미지를 생성하기 위한 설정 파일로 어플리케이션 설치 및 구성에 필요한 명령들을 순차적으로 작성한다.
- 도커허브 Docker Hub
미리 만들어진 이미지를 공유할 수 있는 중앙저장소로, 다양한 공식 이미지와 커뮤니티 이미지가 제공된다.
라라벨과 도커
라라벨은 php 기반의 웹 어플리케이션 프레임워크로, 깔끔한 코드 구조와 다양한 기능을 제공하여 개발자들 사이에서 인기가 높다.
라라벨을 도커에 올리기도 하는데 그렇게 되면,
1. 환경 일관성 제공
- 라라벨 어플리케이션을 개발할 때 서버환경 ( 예를 들어, php 버전, 데이터베이스, 캐시 시스템 ) 이 다를 경우 문제가 발생할 수 있다.
도커를 사용하면 라라벨 어플리케이션과 그에 필요한 모든 환경을 컨테이너로 묶어서 일관된 환경을 제공할 수 있다.
2. 배포 및 운영의 용이성
- 도커 컨테이너를 이용하면 개발한 라라벨 어플리케이션을 동일한 환경에서 운영 서버에 배포할 수 있어서, "내 컴퓨터에서는 잘 돌아가는데?"와 같은 문제를 크게 줄일 수 있다.
3. 개발 도구 및 워크플로우 개선
- 여러 개발자들이 함께 작업할 때, 도커를 사용하면 각자의 로컬환경 설정에 신경 쓸 필요 없이 동일한 컨테이너를 통해 개발할 수 있다.
또한 Laradock과 같은 도커 기반의 라라벨 개발 환경 도구가 존재하여, 손쉽게 컨테이너 환경을 구성할 수 있다.
'Language > php' 카테고리의 다른 글
코딩 스타일 권장 가이드(2) (0) | 2025.02.07 |
---|---|
코딩 스타일 권장 가이드 (1) (0) | 2025.02.07 |
디자인 패턴 (0) | 2025.02.04 |
PRG 패턴 (0) | 2025.01.31 |
FILTER ! : 외부에서 온 데이터는 검증해야 한다. (0) | 2025.01.31 |