25 Aug 2020

Docker 개념및 명령어 정리

Docker란?

docker


Docker란 Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다.

다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램

배포 및 관리를 단순하게 해준다


컨테이너란

컨테이너는 개별 프로그램의 실행에 필요한 실행환경을 독립적으로 운용할 수 있도록 기반환경

또는 다른 실행환경과의 간섭,충돌을 막고 실행의 독립성을 확보해주는 운영체제 수준의 격리 기술을

말한다.


가상 머신은 하드웨어 스택을 가상화한다. 하지만 도커의 컨테이너는 이와달리 운영체제 수준에서

가상화를 실시하여 다수의 컨테이너를 OS커널에서 직접 구동한다. 컨테이너는 훨씬 가볍고 운영체제

커널을 공유하며, 시작이 빠르고 운영체제 전체 부팅보다 메모리를 더 적게 차지한다.


이미지란

이미지는 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는것으로 상태값을 가지지 않고

변하지 않는다. 컨테이너는 이미지를 실행한 상태라고 볼 수 있고 추가되거나 변하는 값은 컨테이너

에 저장된다. 같은 이미지에서 여러개의 컨테이너를 생성할 수 있고 컨테이너의 상태가 바뀌거나

컨테이너가 삭제 되더라도 이미지는 변하지 않고 그대로 남아있다.

빌드

Dockerfile이 있는 경로에서 build명령어를 사용한다.

docker build -t ${dockerhubId}/${dockerhub repository}:${tagName} .

-t : 저장소이름,태그이름 설정가능


이미지 목록 보기

docker images


##이미지 관련 명령어


이미지 검색

docker search ${이미지 이름}


이미지 받기

docker pull ${이미지 이름}:${태그이름or버전}

ex) docker pull redis:latest

보통 태그에 latest를 쓰면 최신버전이다.


이미지 삭제

docker rmi ${이미지 id}

컨테이너를 삭제하기전에 이미지를 삭제 할때 -f옵션을 붙이면 강제 삭제가 가능하다.

docker rmi -f ${이미지 id}


컨테이너 관련 명령어


실행중인 컨테이너 목록

docker ps


모든 컨테이너 목록

docker ps -a


실행 옵션

  • -d : 백그라운드에서 컨테이너가 실행된다

  • -p : ${호스트포트}:${컨테이너포트}

  • -name : 컨테이너의 이름을 설정한다.


컨테이너 실행

docker run ${options} ${image}[:tag]


ex) 이미지이름 : mysql 일때

docker run -d -p 3306:3306 mysql


컨테이너 시작, 재시작, 접속, 정지, 삭제

//시작
docker start ${컨테이너 id or 컨테이너 이름}

//재시작
docker restart ${컨테이너 id or 컨테이너 이름}

//접속
docker attach ${컨테이너 id or 컨테이너 이름}

//정지
docker stop ${컨테이너 id or 컨테이너 이름}

//삭제
docker rm ${컨테이너 id or 컨테이너 이름}

Tags:
0 comments