2019. 1. 23. 21:18ㆍ[정리] 기능별 개념 정리/Docker
Docker
고래가 컨테이너를 싣고 가는 모습
리눅스의 컨테이너 기술을 이용해서 가상화 하지않고 프로세스만 경유해서 빠르게 실행시키는 기술
|
VM |
Docker |
|
같은 성능 |
|
|
하드웨어 가상화 소프트웨어로 구성된 하드웨어
VM안에서 App실행 내 OS -> (가상 하드웨어 -> OS -> Kernel) -> App |
하드웨어 가상화 아님
Docker안에서 App실행 내 OS -> (Docker) -> 컨테이너 |
특징
- OS를 설치하지 않지만 마치 VM을 설치한 것 같은 성능
- 프로세스를 격리
- 가상머신 x
- 용량이 줄어듬
- 리눅스 전용
- 스크립트로 설치
Dockfile
아무것도 없는 컨테이너를 어플리케이션 실행이 가능하게끔 환경설정 해주는 파일
Docker의 이미지 설정 파일
Dockerfile에 설정된 대로 이미지 생성
이미지
실행파일과 라이브러리가 조합된 파일
컨테이너
이미지를 실행한 상태
|
커맨드
|
주석 |
|
docker search ubuntu |
우분투에 관련된 사용 가능한 이미지를 검색 (docker hub에 사용자들이 이미지를 복사해서 올림) docker 브라우저에서도 검색 가능 |
|
docker pull ubuntu:14.04 |
우분투의 패키지 시스템을 가져옴 우분투는 아니지만 우분투와 비슷한 환경 세팅을 만든다. |
| docker pull ubuntu:latest |
우분투의 최신버전을 다운받음 |
|
docker run ubuntu:14.04 |
이미지를 컨테이너로 생성한 뒤 |
|
docker run -i -t ubuntu:14.04 /bin/bash |
-i : 사용자 입출력 허용 -t : sudo tty
/bin/bash : main 실행파일을 컨테이너 안의 bash로 선정 VM은 아닌데 마치 새로운 운영체제에 들어온 것과 같은 효과 |
| exit |
main 실행파일을 종료 = 도커 종료 |
|
|
|
|
docker ps -a |
모든 컨테이너 출력 (ps = process status) |
|
docker start 컨테이너이름 |
중지된 컨테이너를 실행 but 안으로 들어가지 않는다. |
|
docker attach 컨테이너이름 |
컨테이너에 들어간다. |
| docker rm 컨테이너이름 |
컨테이너를 삭제한다. |
|
|
|
| docker images |
현재 가지고 있는 이미지들 출력 |
| docker rmi 이미지이름 |
이미지 삭제 |
|
추가
|
|
| docker run -d --name kok ubuntu:14.04 |
-d : 컨테이너를 Background로 돌립니다. --name : 이름은 kok 입니다. |
|
docker run -d --name kok -p 8000:80 ubuntu:14.04 |
-p : 외부에서 8000포트로 들어오면 이 docker의 80번 포트로 연결 시켜주겠다. |
|
docker exec 컨테이너이름 cmd |
컨테이너 이름에 해당하는 컨테이너 안에서 cmd 명령을 실행하라 |
'[정리] 기능별 개념 정리 > Docker' 카테고리의 다른 글
| 도커 강의 정리 ( 1강 : 이미지 (Dockerfile) ) (0) | 2019.06.07 |
|---|---|
| docker-compose.yml (0) | 2019.03.26 |
| [2019.03.05] Docker-machine (0) | 2019.03.05 |
| [2019.01.30] Dockerfile (0) | 2019.01.30 |
| [2019.01.25] Maven - Docker (0) | 2019.01.25 |