상세 컨텐츠

본문 제목

Docker Container 사용법

DevOps/Docker

by code_down 2024. 4. 22. 16:53

본문

컨테이너 조회

docker ps [OPTION]

 

 

[OPTION] : 추가 옵션을 설정할 수 있다.

 

docker ps #실행중인 컨테이너를 조회한다.
CONTAINER ID   IMAGE       COMMAND                  CREATED       STATUS       PORTS       NAMES
acc8963d5696   nginx       "nginx -g 'daemon of…"   3 weeks ago   Up 11 days   80/tcp      nginx

 

-a : 전체 컨테이너를 조회한다. (중지된 컨테이너 포함) 

docker ps -a
CONTAINER ID   IMAGE       COMMAND                  CREATED       STATUS               PORTS   NAMES
acc8963d5696   nginx       "nginx -g 'daemon of…"   3 weeks ago   Up 11 days           80/tcp  nginx
6b3ae6142f47   teamcity    "/run-services.sh"       2 weeks ago   Exited 11 days ago           agent01

 

-s : 컨테이너의 디스크 사용량을 조회한다.

docker ps -s
CONTAINER ID   IMAGE       COMMAND                  CREATED       STATUS       PORTS     NAMES  SIZE
acc8963d5696   nginx       "nginx -g 'daemon of…"   3 weeks ago   Up 11 days   80/tcp    nginx  1.44GB

 

-f : 조회된 리스트를 필터링 할 수 있다.

docker ps -af "ancestor=nginx" #전체 목록에서 ancestor을 이용해 nginx 이미지를 사용한 목록만 조회한다.
CONTAINER ID   IMAGE   COMMAND                  CREATED       STATUS       PORTS     NAMES
acc8963d5696   nginx   "nginx -g 'daemon of…"   3 weeks ago   Up 11 days   80/tcp    nginx

 

컨테이너 실행

컨테이너 실행 명령어는 내용이 많아 링크 에서 확인해주세요.

 

컨테이너 중지

docker stop `container_name` #컨테이너 실행을 중지한다. ex) docker stop nginx
CONTAINER ID   IMAGE   COMMAND                  CREATED       STATUS                   PORTS     NAMES
acc8963d5696   nginx   "nginx -g 'daemon of…"   3 weeks ago   Exited (0) 1 weeks ago   80/tcp    nginx

 

컨테이너 시작

docker start `container_name` #컨테이너를 실행한다. ex) docker start nginx
CONTAINER ID   IMAGE   COMMAND                  CREATED       STATUS              PORTS     NAMES
acc8963d5696   nginx   "nginx -g 'daemon of…"   3 weeks ago   Up About a minute   80/tcp    nginx

 

컨테이너 로그 확인

docker logs `container_id` #로그를 조회한다. ex) docker logs acc8963d5696
docker logs -f  `container_id` #-f 옵션으로 실시간 로그 조회도 가능하다.

 

컨테이너 상세 정보 확인

docker inspect `container_id` #특정 컨테이너 세부 정보를 확인한다. ex) docker inspect acc8963d5696

[
    {
        "Id": "acc8963d5696e08b542cc2b36916bb6a537da8721a8bcad116c65fbaaeba1385",
        "Created": "2024-04-01T02:52:00.995638633Z",
        "Path": "nginx",
        "Args": [
            "-g",
            "daemon off;"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 963,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2024-04-11T00:14:55.256768741Z",
            "FinishedAt": "2024-04-03T00:20:06.185575394Z"
        },
        "Image": "sha256:dfba3f4f81a11e55fe7e3f35a75e295bb3ddec3fdfcbbc70732905db74e11ba0",
    	이하생략..

 

컨테이너 제거

docker rm `container_id` #특정 컨테이너를 제거합니다.

#Error response from daemon: You cannot remove a running container `container_id`
#실행중인 컨테이너 삭제시 발생하는 에러입니다. 삭제전 컨테이너 중지를 선행합니다.

docker rm -f `container_id` #컨테이너를 정지시킨 후 제거합니다.

docker rm $(docker ps -a -q) #중지되어있는 모든 컨테이너를 제거합니다.

 

컨테이너에 명령어 실행

#특정 컨테이너에서 리눅스 ls 명령어 실행
docker exec `container_id` ls

#-it 옵션을 사용하면 컨테이너의 shell 과 직접 상호작용하여, 연속으로 명령어를 실행할 수 있습니다.
docker exec -it `container_id` /bin/sh

#실행중인 특정 컨테이너에 바로 접근
docker attach `container_id`

 

exec : 실행 중인 컨테이너에 명령어를 전달 (외부 -> 내부)
attach : 실행 중인 컨테이너에 직접 접속해 명령어를 실행 (내부)

'DevOps > Docker' 카테고리의 다른 글

Docker Image 사용법  (0) 2024.04.23
Dockerfile 작성법  (0) 2024.04.23
Docker run 명령어 사용법  (1) 2024.04.22
TeamCity Agent 설치 (with. Docker-compose)  (0) 2024.04.04
TeamCity Server 설치 (with. Docker-compose)  (0) 2024.04.04