Post

Docker 개념

기본적인 도커 명령어

docker [대상][액션] -> [대상]: container(생략가능), image, volume, network 등 -> [액션]: ls, inspect, start, run 등

  • docker (container) create ```terminal //centos 이미지를 사용해서 컨테이너를 생성해주는 명령 root@DH:~# docker create –name testos centos

  • –name: 컨테이너명을 testos로 설정할 수 있는 옵션
  • docker rename [현재 이름] [바꿀 이름] : 이름 변경 ```
1
2
3
4
docker create -it --name testos2 centos

- -i (interactive): 표준 입력(STDIN)을 활성화함. 컨테이너와 attach 되어있지 않더라도 표준 입력을 유지함.
- -t (tty): 컨테이너에 pseudo-terminal을 할당
  • docker ps -> 실행중인(UP) 컨테이너들의 목록을 확인 -> docker container ls 와 같음
1
2
3
root@DH:~# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
adb6732a399d   centos    "/bin/bash"   51 seconds ago   Up 50 seconds             testos2

[CONTAINER ID]

  • 컨테이너에 할당되는 고유한 컨테이너 ID
  • 전체 ID에서 12자리만 출력

[IMAGE]

  • 컨테이너를 생성할 떄 사용된 이미지

[COMMAND]

  • 컨테이너가 시작될 떄 실행될 명령어
  • docker run 이나 docker create 명령어의 맨 끝에 새로운 명령어를 입력해서 컨테이너를 생성할 떄 대체 가능

[CREATED]

  • 컨테이너 생성 후 경과 시간

[STATUS]

  • 컨테이너의 상태
  • 실행 중(Up), 종료(Exited), 일시 중지(Pause)

[PORTS]

  • 컨테이너가 개방한 포트와 호스트에 연결된 포트

-a (all) 옵션을 같이 써주면 실행 중이지 않은 컨테이너를 포함하여 전체 컨테이너 목록을 출력합니다.

1
2
3
4
root@DH:~# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
adb6732a399d   centos    "/bin/bash"   55 seconds ago   Up 54 seconds             testos2
875366cc4662   centos    "/bin/bash"   5 hours ago      Created                   testos

–no-trunc 옵션을 같이 써주면 컨테이너 ID 전체를 보여줍니다.

1
2
3
root@DH:~# docker ps --no-trunc
CONTAINER ID                                                       IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
adb6732a399de1d9d4d2d8e2b74d6a4c6829652c8e950c77daebe32afdc25430   centos    "/bin/bash"   5 minutes ago   Up 5 minutes             testos2
  • docker start -> 컨테이너를 시작(실행) -> 생성해둔 컨테이너를 시작할 수 있음
1
2
root@DH:~# docker start -ai testos
[root@151f3b70b5a4 /]#

컨테이너(testos)를 시작하면서 -ai 옵션을 사용해 해당 컨테이너 내부로 접근하여 표준 입력을 받을 수 있도록 하였습니다.

  • docker stop -> 실행 중인 컨테이너를 종료
    1
    2
    
    root@DH:~# docker stop testos
    testos
    

    컨테이너가 종료(Exited)된 것을 확인할 수 있습니다.

  • docker run -> 컨테이너를 시작하고 COMMAND를 실행 -> 로컬에 이미지가 있따면 해당 이미지로 실행하고, 없으면 도커허브에서 다운로드 후 실행 -> create + start ```terminal root@DH:~# docker run -dit –name test centos 5d56fc765e3780fb06f5f3d5a66935e1a087087d7b9ab69e979e830773603a81

root@DH:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5d56fc765e37 centos “/bin/bash” 1 second ago Up 1 second test ``` -d 옵션을 사용해 사용자가 직접 컨테이너 안으로 접근하지 않고,

This post is licensed under CC BY 4.0 by the author.