02 Docker CLI
02 Docker CLI
1. DockerHub
- https://hub.docker.com/
- 도커 이미지를 저장/다운로드 할 수 있는 저장소 역할하는 곳.
- pull로 당기면 도커허브에서 다운로드됨.
2. image
1. image 다운
1
2
3
4
5
# docker pull 이미지명 (최신버전 다운로드)
$ docker pull nginx
# docker pull 이미지명:태그명 (특정 버전 다운로드)
$ docker pull nginx:stable-perl
2. image List
1
2
# 설치된 도커 이미지 조회
$ docker image ls
3. image remove
1
2
3
4
5
6
7
8
9
10
11
# 특정 이미지 삭제 (컨테이너 사용중이 XX 이미지)
$ docker image rm [이미지 ID 또는 이미지명]
# 중단된 컨테이너 이미지 삭제 (기존에 사용중인 이미지) -> 종료된 이미지
$ docker image rm -f [이미지 ID 또는 이미지명]
# 컨테이너에서 사용하고 있지 않은 이미지만 전체 삭제
$ docker image rm $(docker images -q)
# 컨테이너에서 사용하고 있는 이미지를 포함해서 전체 이미지 삭제
$ docker image rm -f $(docker images -q)
3. container
1. container 생성
1
2
3
4
# docker create 이미지명[:태그명]
# 이미지를 가지고 컨테이너를 생성
$ docker create nginx
$ docker ps -a # 모든 컨테이너 조회
2. contianer 조회와 시작
1
2
3
# docker start 컨테이너명[또는 컨테이너 ID]
$ docker start 컨테이너명[또는 컨테이너 ID]
$ docker ps # 실행중인 컨테이너 조회
3. docker run
1
2
3
4
# 이미지를 바탕으로 컨테이너를 생성한 뒤, 컨테이너를 실행까지 시킨다
# docker run 이미지명[:태그명]
$ docker run nginx # 포그라운드에서 실행
$ docker run -d nginx # 백그라운드에서 실행
4. 컨테이너 관리
1
2
# docker run -d --name [컨테이너 이름] 이미지명[:태그명]
$ docker run -d --name my-web-server nginx
3. 포트 연결
1
2
3
4
5
# 컨테이너에 접근하기 위해서는 host 컴퓨터를 통해서 들어가야됨.
# 그래서 호스트 컴퓨터에 특정 포트를 설정하여 컨테이너포트로 연결해주는 작업이 필요.
# docker run -d -p [호스트 포트]:[컨테이너 포트] 이미지명[:태그명]
$ docker run -d -p 4000:80 nginx
4. container 관리
1. docker ps
1
2
3
4
5
# 실행 중인 컨테이너들만 조회
$ docker ps
# 모든 컨테이너 조회 (작동 중인 컨테이너 + 작동을 멈춘 컨테이너)
$ docker ps -a
2. docker stop
1
2
$ docker stop 컨테이너명[또는 컨테이너 ID]
$ docker kill 컨테이너명[또는 컨테이너 ID]
3. docker 삭제
1
2
3
4
5
6
7
8
9
10
11
# 중지되어 있는 특정 컨테이너 삭제
$ docker rm 컨테이너명[또는 컨테이너 ID]
#실행되고 있는 특정 컨테이너 삭제
$ docker rm -f 컨테이너명[또는 컨테이너 ID]
#중지되어 있는 모든 컨테이너 삭제
$ docker rm $(docker ps -qa)
#실행되고 있는 모든 컨테이너 삭제
$ docker rm -f $(docker ps -qa)
5. docker 운영
1. 로그
1
2
3
4
5
# docker logs [컨테이너 ID 또는 컨테이너명]
$ docker logs [nginx가 실행되고 있는 컨테이너 ID]
# dokcer logs --tail [로그 끝부터 표시할 줄 수] [컨테이너 ID 또는 컨테이너명]
$ dokcer logs --tail 10 [컨테이너 ID 또는 컨테이너명]
2. 로그 구분 조회
1
2
3
4
5
6
7
# docker logs -f [컨테이너 ID 또는 컨테이너명]
# Nginx의 컨테이너에 실시간으로 쌓이는 로그 확인하기
$ docker logs -f
# 기존 로그는 조회하지 않기 + 생성되는 로그를 실시간으로 보고 싶은 경우
# 0을 넣으면 마지막 저장된 로그가 X
$ docker logs --tail 0 -f [컨테이너 ID 또는 컨테이너명]
3. 컨테이너 내부에 접근
1
2
3
4
5
6
$ docker run -d nginx
$ docker exec -it [Nginx가 실행되고 있는 컨테이너 ID] bash
$ ls # 컨테이너 내부 파일 조회
$ cd /etc/nginx
$ cat nginx.conf
This post is licensed under CC BY 4.0 by the author.