docker [COMMAND]
도커는 평소에도 환경 구축을 위해 자주 사용하고 있다.

홈 서버에서 도커가 없는 환경은 상상하기 힘들 정도로 다양한 서비스를 컨테이너로 관리하고 있지만
한번 환경을 구축하고 나서는 shell script 또는 docker-compose로 관리하는 경우가 많아
자세하게 원하는 기능을 쓰기 위해서 검색하는 경우가 많아 효율이 떨어진다고 생각했다.
이번 기회로 내부 커맨드와 볼륨 및 네트워크와 같은 내용을 하나씩 정리해 보려 한다.
docker run [optoin] IMAGE [COMMAND] [ARGS...]
| OPTIONS | Contents |
|---|
| -d | detached mode (백그라운드 모드) |
| -p | HOST:CONTAINER 포트를 연결 |
| -v | HOST:CONTAINER 디렉토리를 연결 |
| -e | env 변수 설정 |
| --name | 컨테이너 이름 설정 |
| -rm | 컨테이너 자동 제거 |
| -it | -i(--interactive), -t(--tty) 옵션 터미널 입력 모드 |
| --network | 네트워크 연결 |
docker run --rm -it ubuntu:latest /bin/bash
- ubuntu 최신 버전 이미지를 가져와 컨테이너로 실행
- --rm : 프로세스 종료시 컨테이너 삭제
- -it : 터미널 명령 모드로 실행 , bash를 실행 (/bin/bash)
docker exec : 실행중인 컨테이너에 명령어 실행
docker exec [OPTION] CONTAINER [COMMAND] [ARG...]
| OPTIONS | Contents |
|---|
| -d | detached mode (백그라운드 모드) |
| -e | env 변수 설정 |
| -u | 실행 user 선택 |
| -w | 실행 workdir 선택 |
docker ps : 컨테이너 목록 확인
docker ps [OPTIONS]
| OPTION | Contents |
|---|
| -a, --all | 모든 컨테이너 확인 |
| -f, --filter | 필터를 사용해 출력 컨테이서 제한 |
| -l, --latest | 마지막으로 만든 컨테이너 |
| -q, --quiet | 컨테이너 ID 만 출력 |
| -s, --size | 총 사이즈 표시 |
docker ps -as
>>>
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
357a5c78f2ab hello-world "/hello" 5 minutes ago Exited (0) 5 minutes ago hardcore_ishizaka 0B (virtual 13.3kB)
docker ps -aq
>>>
357a5c78f2ab
docker ps -a -f "name=hello-*"
>>>
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9552c06909dd hello-world "/hello" 56 seconds ago Exited (0) 55 seconds ago hello-docker-2
cd43b467fffa hello-world "/hello" About a minute ago Exited (0) About a minute ago hello-docker-1
82e8af42ab14 hello-world "/hello" About a minute ago Exited (0) About a minute ago hello-docker
docker stop : 실행중인 컨테이너 중지
docker stop [OPTIONS] CONTAINER [CONTAINER...]
| OPTION | Contents |
|---|
| -t,--time | 정지된 컨테이너 확인 |
docker stop 482576c206c6
docker stop $(docker ps -aq)
docker rm : 컨테이너 삭제
docker rm [OPTIONS] CONTAINER [CONTAINER...]
| OPTION | Contents |
|---|
| -f,--force | 실행중인 컨테이너 강제 삭제 |
| -l,--link | 컨테이너 링크만 삭제 |
| -v,--volumes | 컨테이너의 데이터 볼륨 삭제 |