실행 환경에 구애받지 않고 애플리케이션을 실행할 수 있다
컨테이너 방식 장점
의존성 충돌 문제를 해결
해 준다.
⇒ 개발과 배포 환경을 일치
시킨다.
⇒ 수평 확장
을 쉽게 해주고, 각 서버에 새로운 내용을 배포하기 쉽게
만들어준다.
키워드
latest
태그를 붙인 이미지를 가져온다.컨테이너
vs VM(가상머신)
도커 컨테이너
VM
Docker 컨테이너에 파일을 복사하기
1. 웹 서버는 도커 컨테이너로 실행
2. 웹 서버를 구성하는 파일은 직접 만들거나 가져온 파일 구성
로컬에 있는 파일과 도커 이미지를 연결하는 방법은 크게
CP
(Copy) 를 이용하는 방법과 DockerVolume
기능을 이용하는 방법으로 나뉜다.
- CP(Copy) : 호스트와 컨테이너 사이에 파일을 복사(Copy)
- Volume : 호스트와 컨테이너 사이에 공간을 마운트(Mount)
- 마운트는 저장 공간을 다른 장치에서 접근할 수 있도록 경로를 허용해서, 마치 하나의 저장 공간을 이용하는 것처럼 보이게 하는 작업
Docker 이미지 만들기
만든 Docker Container를 이미지 파일로 변환한다.
1. 구동한 Docker Container를 이미지로 만드는 방법
docker container commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
2. Dockerfile 생성 후 Docker Image 빌드
# Dockerfile 예시 (이미지 파일의 설명서)
FROM httpd:2.4 # 베이스 이미지를 httpd:2.4 로 사용
COPY ./ /usr/local/apache2/htdocs/ # 호스트의 현재 경로에 있는 파일을 생성할 이미지 /usr/local/apache2/htdocs/ 에 복사
두 개의 Docker Image 다루는 방식
docker-compose up
을 통해 컨테이너 구동