도커 시작하기
도커 시작하기
도커를 컴퓨터에서 설치하는 방법에는 3가지가 있다.
운영체제가 리눅스인 컴퓨터에 설치
VMWare, VirtualBox 등 가상머신에 리눅스를 설치 후 도커 설치
윈도우, 맥 전용 Docker Desktop 설치
나는 3번 방법을 선택했는데 리눅스를 따로 설치할 컴퓨터도 없고, 가상머신은 너무 무겁기 때문이다.
어차피 도커를 한번 경험 해본다는 생각으로 써볼 계획이라 3번이 가장 적절한 방법이라고 생각했다.
도커 명령어
도커의 명령어는 다음과 같은 형식으로 이루어진다.
docker 커맨드 (옵션) 대상 (인자)
커맨드에는 상위 커맨드와 하위 커맨드가 있으며 상위 커맨드는 container, image, volume, network나 도커 스웜과 관련된 커맨드이고, 하위 커맨드는 pull, run, stop 등 상위 커맨드의 조작과 관련된 커맨드이다.
모든 도커 명령어는 docker
로 시작한다.
상위 커맨드
커맨드 | 설명 |
---|---|
container | 도커 컨테이너를 관리 |
image | 도커 이미지를 관리 |
volume | 도커 볼륨을 관리 |
network | 도커 네트워크를 관리 |
checkpoint | 현재 상태를 저장, 나중에 해당 시점으로 되돌릴 수 있음 |
node | 도커 스웜의 노드를 관리 |
secret | 도커 스웜의 비밀 값을 관리 |
stack | 도커 스웜 또는 쿠버네티스에서 여러 개의 서비스를 합쳐 구성한 스택 관리 |
swarm | 도커 스웜 관리 |
system | 도커 엔진 정보 확인 |
컨테이너 하위 커맨드
커맨드 | 설명 |
---|---|
start | 컨테이너 실행 |
stop | 컨테이너 정지 |
create | 도커 이미지로부터 컨테이너 생성 |
run | 도커 이미지를 내려받고 컨테이너를 생성해서 실행 |
exec | 실행 중인 컨테이너 속에서 프로그램 실행 |
ls | 컨테이너 목록 출력 |
cp | 도커 컨테이너와 도커 호스트 간 파일 복사 |
commit | 도커 컨테이너를 이미지로 변환 |
docker container run
명령어는 docker image pull
, docker container create
, docker container start
3가지 명령어가 합쳐진 것이다.
이미지 하위 커맨드
커맨드 | 설명 |
---|---|
pull | 도커 허브 등의 리포지토리에서 이미지를 내려받음 |
rm | 저장된 도커 이미지 삭제 |
ls | 내려 받은 이미지 목록 출력 |
build | 도커 이미지 생성 |
볼륨 하위 커맨드
커맨드 | 설명 |
---|---|
create | 볼륨 생성 |
inspect | 볼륨 상세 정보 출력 |
ls | 볼륨 목록 출력 |
prune | 현재 마운트 되지 않은 볼륨 모두 삭제 |
rm | 지정한 볼륨 삭제 |
네트워크 하위 커맨드
커맨드 | 설명 |
---|---|
connect | 컨테이너를 도커 네트워크에 연결 |
disconnect | 컨테이너의 도커 네트워크 연결 해제 |
create | 도커 네트워크 생성 |
inspect | 도커 네트워크 상세 정보 출력 |
ls | 도커 네트워크 목록 출력 |
prune | 현재 네트워크가 접속하지 않은 네트워크 모두 삭제 |
rm | 지정한 네트워크 삭제 |
상위 커맨드 없이 단독으로 쓰이는 커맨드
커맨드 | 설명 |
---|---|
login | 도커 레지스트리에 로그인 |
logout | 도커 레지스트리에 로그아웃 |
search | 도커 레지스트리 검색 |
version | 도커 엔진 및 명령행 도구 버전 출력 |
컨테이너 라이프 사이클
생성 => 실행 => 종료 => 폐기
컨테이너는 쓰고 버리는 일회용품으로 매우 쉽게 만들 수 있기 때문에 하나의 컨테이너를 업데이트해가며 계속 사용하는 것 보다는 업데이트된 소프트웨어가 들어있는 새 컨테이너를 생성하는 것이 좋다.
컨테이너 생성
docker run
= docker image pull
+ dockere container create
+ docker container start
docker run (옵션) 이미지 (인자)
옵션 | 설명 |
---|---|
--name | 컨테이너 이름 |
--p | 포트 번호 |
--v | 볼륨 마운트 |
--net | 네트워크 |
-e 환경변수_이름=값 | 환경변수 설정 |
-d | 백그라운드로 실행 |
-i | 컨테이너에 터미널(키보드) 연결 |
-t | 특수 키 사용 가능하도록 설정 |
-help | 사용 방법 안내 메시지 출력 |
인자는 이미지의 종류에 따라 달라진다.
컨테이너 정지
docker stop 컨테이너_이름
컨테이너 삭제
docker rm 컨테이너_이름
``
<br />
### 실행 중인 컨테이너 목록
```bash
docker ps (옵션)
docker container ls (옵션)
-a 옵션을 추가하면 현재 존재하는 모든 컨테이너의 목록을 출력한다.
컨테이너 목록의 정보
이름 | 설명 |
---|---|
CONTAINER_ID | 컨테이너 식별자, 무작위 문자열 할당, 본래 64글자이지만 앞에서 12글자만 출력 |
IMAGE | 컨테이너를 만들 때 사용한 이미지 이름 |
COMMAND | 컨테이너 실행 시에 실행하도록 설정된 프로그램 이름 |
CREATED | 컨테이너 생성 후 경과된 시간 |
STATUS | 컨테이너의 현재 상태, UP-실행, EXCITED-종료 |
PORTS | 컨테이너에 할당된 포트 번호 |
NAMES | 컨테이너 이름 |