Docker Container
Docker Container(2022/05/04)
1. Docker Run
- run을 하게되면 새로운 container를 만들고 image를 실행시킨다
- $ docker run [옵션] {이미지 이름}
- (옵션) -d : detach모드. 백그라운드로 실행됨
- (옵션) - -name : 이름짓기
- (옵션) - -rm : 프로세스 종료 후 컨테이너 삭제
- $ docker run -it - -rm {이미지 이름} : 해당 컨테이너는 프로세스가 종료되고나면 바로 삭제한다
2. Docker Create
- container만을 생성하게 된다
1
$ docker create {이미지 이름}
1
2
3
4
5
6
7
$ docker create -i -t —name [짓고 싶은 이름] {이미지이름}
(-i : STDIN 활성화, -t : pseudo-TTY 활성화, —name : 이름짓기)
⇒ -i, -t가 있어야 attach모드 시 입출력이 가능하다
**TTY (Teletypewriter) : 리눅스에서 콘솔 창에 표현되는 프롬프트
(-i 옵션이 없으면, 프롬프트는 띄워지지만 입출력이 불가능하다)
(-t 옵션이 없으면, 입출력은 가능하나 프롬프트가 띄워지지 않아서 가독성 어려움)**
3. Docker List Container
- 현재 실행중인 컨테이너의 상태를 보여준다
1
$ docker ps (or) $ docker container ls
1
$ docker ps —format 'table\table’ (테이블 형태처럼 상태확인이 가능하다)
1
(옵션) -a : 실행 중인 것, 중지된 컨테이너 모두를 다 보여준다
4. Docker Stop
- 실행중인 container를 중지시킨다 ($ docker kill : stop은 gracefully 하게 작업이 끝날 때 까지를 기다려주지만, kill은 현재 상태 여부 상관없이 강제 종료 시킨다)
- $ docker stop {컨테이너 ID}/{컨테이너이름}
- $ docker kill {컨테이너ID}/{컨테이너이름}
5. Docker Start
- container를 실행한다. (Run = create + start)
1
2
$ docker start {컨테이너 ID}/{컨테이너이름}
1
2
$ docker attach {컨테이너 ID}/{컨테이너이름} : 동작하는 해당 컨테이너에 접속한다
(docker create 시 -i, -t 옵션이 붙어야 가능하다)
6. Docker Restart
- container를 재 실행 시킨다.
1
$ docker restart {컨테이너 ID}/{컨테이너이름}
7. Docker logs
- container가 실행되는 동안 기록되었던 로그 들을 확인한다
1
$ docker logs {컨테이너ID}/{컨테이너이름}
8. Docker rm
- 중지중인 container를 삭제한다. (실행중인 컨테이너는 삭제 안됨)
1
$ docker rm {컨테이너ID}/{컨테이너이름}
1
$ docker container prune : 정지중인 컨테이너 **“모두”** 지우고 싶을때
1
$ docker rm `docker ps -a -q`
1
2
$ docker system prune : 이미지, 정지 중인 컨테이너, 네트워크 **모두**
다 지워버리고 싶다면
9. Docker exec
- 현재 실행중인 컨테이너에 대해 추가 명령을 내리는 커맨드
1
$ docker exec {컨테이너ID}/{컨테이너이름} {cmd}
This post is licensed under CC BY 4.0 by the author.