기존의 가상환경이 필요할 때에는 Virtual Machine을 사용했는데 이 것은 굉장히 무거웠기 때문에 도커는 컨테이너라는 가벼운 가상환경을 제공한다.
컨테이너 하나가 하나의 Virtual Machine 이자 커다란 프로세스이다.
Host
컨테이너들이 설치된 곳의 OS, 하나의 호스트에는 여러개의 컨테이너 가능
Image
컨테이너를 만들기 위한 설정 파일
Container
Host에서 돌아가는 각각의 소프트웨어의 실행파일과 라이브러리를 격리된 공간에 배치한 기술
docker ps
현재 실행중인 도커프로세스 리스트 불러오기
docker images
이미지 리스트 불러오기
docker rm 컨테이너ID
컨테이너 삭제
docker rmi 이미지id
이미지 삭제
docker pull 도커허브이미지
도커허브에서 이미지가져오기
*도커허브 : Docker에서 제공하는 여러 이미지를 가져올 수 있는 사이트
docker stop 컨테이너ID
컨테이너 중지
docker start 컨테이너ID
컨테이너 실행
docker logs (-f) 컨테이너ID
해당 컨테이너 로그 불러오기, -f 붙이면 로그를 불러오고 꺼지지않고 계속 확인가능(watch모드)
docker run -p hostPort:ContainerPort 이미지이름
docker exec 컨테이너ID 명령어
해당 컨테이너 안에서 실행한 명령어가 된다. 만약 docker exec ws ls 라면 ws라는 컨테이너 안의 모든 파일을 불러오는 명령어이다.
docker exec -it 컨테이너ID /bin/bash(sh)
단순 exec는 한번만 컨테이너 안에서 실행한다면 이 명령어는 아예 컨테이너 안으로 들어가는 명령어 -it가 컨테이너 안으로 들어가는 명령어 나갈 땐 exit로 나감
docker run -p HostPort:ContainerPort -v 내가 연결시키고자 하는 폴더:컨테이너 안에 내가 연결하고자 하는 폴더
-v 옵션은 호스트의 파일시스템과 컨테이너의 파일시스템을 연결시켜주는 옵션으로 호스트에서 값을 변경하면 컨테이너 내의 변경내용이 자동 저장된다
docker commit 컨테이너ID 이미지이름
commit은 사용중인 container를 바탕으로 이미지를 만드는 명령어