도커(Docker)는 리눅스 컨테이너(Linux Container) 기술을 기반으로 하는 오픈 소스 서비스이다. 도커를 통해 애플리케이션 실행 환경을 코드로 작성할 수 있으며, OS를 격리화하여 관리한다.
Linux 기반의 기술 중 하나로, 필요한 라이브러리와 애플리케이션을 모아서 마치 별도의 서버처럼 구성한 것을 말한다. 컨테이너를 이루는 네트워크 설정, 환경 변수 등의 시스템 자원은 각 컨테이너가 독립적으로 소유하고 있다.
환경 표준화
수작업으로 일치시키는 환경 구성
리소스 격리성
docker image pull docker/whalesay: latest
docker/whalesay의 최신 이미지를 받아온다.
doker image ls
이미지 리스트를 출력한다.
docker container run --name 컨테이너_이름 docker/whalesay:latest cowsay boo
컨테이너_이름을 이름으로 갖는 컨테이너를 실행한다.
docker container ps -a
모든 컨테이너의 리스트를 출력한다.
docker container rm 컨테이너_이름
컨테이너_이름이라는 이름을 가진 컨테이너를 삭제한다.
docker image rm docker/whalesay
지정된 도커 이미지를 삭제한다.
docker container run --name 컨테이너_이름 -p 818:80 httpd
httpd 실행
-p 옵션은 로컬호스트의 포트와 컨테이너의 포트를 연결한다.
docker container cp ./ 컨테이너_이름:/usr/local/apache2/htdocs/
현재 폴더의 파일을 뒤 경로에 복사한다.
docker container commit 컨테이너_이름 my_pacman:1.0
구동한 docker container를 이미지로 만든다.
docker run --name my_web2 -p 900:80 my_pacman:1.0
생성된 이미지를 900포트에서 웹 서버로 구동