1. 도커 컨테이너란?
파일시스템과 애플리케이션이 함께 담겨 있는 박스
2. 도커 컨테이너 생애 주기
실행중 > 정지 > 파기
3. 컨테이너 생성 및 실행
$docker run --name [컨테이너이름] [이미지명]
docker container run [options] 이미지명/ID[:태그] [명령] [명령인자...]
$ docker container run -d -p 9000:8080 example/echo:latest
4. 도커 컨테이너 실행시 명령인자 전달
$ sudo docker container run -it alpine:3.7 uname -a
5. 컨테이너에 이름 붙이기
$ sudo docker container -t -d --name sangjo-echo example/echo:latest
6. 도커 컨테이너 목록 보기
$docker ps #실행중 컨테이너 목록 보기
$docker ps -a #실행 완료된 것 포함 모든 컨테이너 목록 보기
$docker container ls [options]
항목 | 내용 |
CONTAINER ID | 컨테이너를 식별하기 위한 유일 식별자 |
IMAGE | 컨테이너를 만드는 데 사용된 도커 이미지 |
COMMAND | 컨테이너에서 실행되는 애플리케이션 프로세스 |
CREATED | 컨테이너 생성후 경과된 시간 |
STATUS | Up(실행중), Exited(종료) 등 컨테이너 실행 상태 |
PORTS | 호스트 포트와 컨테이너 포트의 연결 관계 (포트 포워딩) |
NAMES | 컨테이너 이름 |
6.1 컨테이너 id만 추출
$ docker container ls -q
6.2 컨테이너 목록 필터링하기
6.2.1 컨테이너 이름 필터링
$ docker container ls --filter "name=echo1"
6.2.2 컨테이너 생성 이미지 기준 필터링
$ docker container ls --filter "ancestor=example/echo"
6.3 종료된 컨테이너 목록 보기
$ docker container ls -a
7. 컨테이너 정지하기
docker container stop 컨테이너ID_또는_컨테이너명
8. 컨테이너 파기하기
docker container rm 컨테이너ID_또는_컨테이너명
> -f 옵션 : 실행중 컨테이너 파기 옵션 : docker container rm -f xxxxx
9. 컨테이너 정지시 자동 파기
docker container run --rm[파기 옵션]
10.표준 출력 연결하기
docker (container) logs [options] 컨테이너ID_또는_컨테이너명
> -f 옵션 : 실행 중인 컨테이너의 새로 출력 되는 표준 출력 내용을 계속 보여 준다.
11. 실행 중인 컨테이너에서 명령 실행하기
docker container exec [options] 컨테이너ID_또는_컨테이너명 컨테이너에서_실행항_명령
> -it 옵션 : 표준 입력을 다루는 i 옵션과 유사 터미널을 할당하는 t 옵션을 함께 사용하면 컨테이너를 쉘을 통해 다룰수 있다.
$ sudo docker container exec -it echo(container name) sh(shell) / bash
참고 : https://docs.docker.com/engine/reference/commandline/exec/
12 호스트 또는 컨테이너간 파일 복사
docker container cp [options] 컨테이너ID_또는_컨테이너명:원본파일 대상파일
$ sudo docker container cp echo:/echo/main.go .(현재작업 디렉토리)
docker container cp [options] 호스트_원본_파일 컨테이너ID_또는_컨테이너명:대상파일
$ sudo docker container cp dummy.txt echo:/tmp
$ sudo docker container exec echo ls /tmp | grep dummy
13. 컨테이너 메타 데이터 검토
$ docker inspect [container_id]
특정 메타 데이터 값 json 형태로 확인 하기
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [container_id]
참고 : https://docs.docker.com/engine/reference/commandline/inspect/#examples
'Development > Docker' 카테고리의 다른 글
[Docker] 9. 운영과 관리를 위한 명령 (0) | 2020.02.04 |
---|---|
[Docker]8. 컨테이너 run 명령에서 자주 사용되는 옵션 (0) | 2020.02.03 |
[Docker]6. 도커허브 이미지 관리 하기 (0) | 2020.02.03 |
[Docker]5. 도커 이미지 빌드시 자주 사용하는 옵션 (0) | 2020.02.03 |
[Docker]4. 도커 인스트럭션 설명 (0) | 2020.02.03 |