리눅스 컨테이너에 여러 기능을 추가, 어플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있도록 한 오픈 소스 프로젝트

도커 실행 환경 단위: 컨테이너
운영환경이 다른 개발서버(개발자가 개발하는 서버)와 운영서버(사용자들이 사용하는 서버)의 환경을 일치시키는 방법으로 도커가 있다. -> 개발과 운영을 긴밀하게 연결 : DevOps (Development, Operations)
su root
curl -fsSLhttps://download.docker.com/linux/ubuntu/gpg| sudoapt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release-cs) stable“
apt update
apt install docker-ce
docker info
Docker이미지
: 컨테이너 생성하는데 사용된다. 누구나 만들 수 있다.
hub.docker.com 에 들어가면 만들어진 이미지 볼 수 있다.
도커 이미지 종류에는 우분투, apache 웹서버, MySql, 하둡, 스파크, 스톰 등 빅데이터 분석도구
Docker 컨테이너 : 이미지로부터 생성되는 독립된 실행 공간이다.
docker –v
docker run -i -t ubuntu:14.04
docker 이미지 다운받기 : docker pull
docker 다운로드 이미지 리스트 확인 : docker images
다운받은 docker 이미지로 컨테이너 생성 : docker create -i-t --name 이름 이미지이름
생성한컨테이너실행 : docker start 이름
실행중인 컨테이너 내부로 들어가기 : docker attach 이름
: 컨테이너 생성시 -p 옵션 이용 형식: -p 호스트의포트:컨테이너의포트
예) docker run -it --name mywebserver-p 7777:80 ubuntu:14.04
컨테이너 내부에서 웹서버 설치
apt install apache2 -y
service apache2 start
그 후 외부 웹브라우저에서 localhost:7777로 입력하면 아파치 서버와 연결되서 외부 요청이 내부로 들어가 접속가능
: 어플리케이션의 개발과 배포 등이 쉬워진다.
어플리케이션을 마이크로서비스 단위로 나누어 개발 및 실행을 가능하다.
이미지를 이용해 컨테이너를 만들고, 거기서 작업
전체를 또 이미지로 만들어서 -> 컨테이너로 만든다.
즉, 컨테이너 여러 개 만들어 동작시키고 각각에 마이크로 서비스를 담아서 서로 통신하도록 동작시킬 수 있다는 큰 장점이 있다.