Container/Docker

[Docker CE] 도커 컨테이너 기본 명령어 정리 (1)

Nirsa 2020. 1. 15. 15:43
반응형

 

도커 컨테이너 명령어 정리 이지만 많은 옵션들을 하나하나 다룰 수 없기 때문에 기본적인 옵션들만 작성 하였고 자세한 옵션이나 사용 방법은 후에 업로드 할 예정 입니다.

* 기본적인 컨테이너 명령어가 많아 1편과 2편으로 나눠서 업로드 합니다.

 

1. 컨테이너 생성

아래 명령어를 입력하면 되고, 생성만 될뿐 시작을 수동으로 진행 해주어야 합니다.

  • docker container create [옵션] [이미지 이름] [명령] [매개변수] 

 

2. 컨테이너 실행 및 시작 (백그라운드 실행)

컨테이너를 생성하면서 자동으로 시작됩니다. -d 옵션은 백그라운드 실행 이며, 웹서버는 별도로 설정 안해도 백 그라운드로 실행 되기 때문에 반드시 입력할 필요는 없습니다.

  • docker container run [옵션] [이미지 이름] [명령] [매개변수]

 

3. 컨테이너 실행 / 재실행

재실행의 경우 단순 재실행 말고도 --restart 옵션을 통해 종료 상태(정상 종료인지, 아닌지)에 따라 재실행 되도록 설정이 가능 합니다.

  • 실행 : docker container start [컨테이너명]
  • 재실행 : docker container restart [컨테이너명]

 

4. 컨테이너 종료

  • docker container stop [컨테이너명]

 

5. 컨테이너 일시중지

  • 일시 중지 : docker container pause [컨테이너명]
  • 일시 중지 해제 : docker container unpause [컨테이너명]

 

6. 컨테이너 삭제

컨테이너 삭제는 아래와 같이 가능하고, -v 옵션을 통해 볼륨 삭제도 가능 합니다. 

  • docker container rm [컨테이너명]

 

7. 컨테이너 로그 확인

  • docker container logs -t webserver
  • 실시간 확인 : docker container logs -t -f webserver

 

8. 컨테이너 설정 확인

  • docker container inspect [컨테이너명]

 

9.  리소스 제한 설정 후 컨테이너 생성 및 실행 (쿼터 설정)

컨테이너에게 CPU나 메모리 등의 자원을 제한하여 여러개의 컨테이너를 실행할 때에 리소스 불균형이 일어나지 않도록 하기위해 설정 합니다. 설정할때에는 컨테이너 생성을 하면서 만들땐 container run 을 사용하고, 기존에 사용되던 컨테이너의 리소스 제한 설정을 할때엔 container update를 사용 합니다. (메모리 설정 시 swap 도 설정 가능)

아래 명령어는 nginx 이미지를 사용해 컨테이너 nirsa 를 생성하면서 시작하되, 메모리 사용량은 500mb로 제한 합니다. 메모리를 제한할때는 b, k, m, g (바이트, 킬로바이트, 메가바이트, 기가바이트) 가 사용 됩니다.

  • docker container run -d --name [컨테이너명] --memory=500m [이미지명]
  • 설정 확인 : docker container inspect [컨테이너명] | grep Memory

 

아래 명령어는 기존에 사용중이던 컨테이너 nirsa의 cpu 상대비율을 지정합니다. (기본값은 1024 이고 2048 로 설정할 경우 기본 컨테이너보다 2배 많은 시간을 할당 받습니다)

  • docker container update --cpu-shares=1024 [컨테이너명]
  • 설정 확인 : docker container inspect [컨테이너명] | grep Cpu

 

10. container run 을 사용하여 환경변수 지정

실제로 입력하기 전에 아래와 같은 작업을 하였습니다.

  • docker pull centos:7   ## centos 7 이미지 설치, 권한 에러 발생 시 https://nirsa.tistory.com/53?category=868315 참고하여 docker hub 로그인 진행
  • /root/test 디렉토리에 vi 를 이용하여 file 이라는 파일 생성 및 내용에 foo=bar 입력 후 저장

 

  • docker container run -it --env-file=[호스트OS 파일 경로] [이미지명]:[태그명] /bin/bash
  • 확인 방법 : set | grep foo=bar   ## 컨테이너 bash shell 상에서 입력

 

11. 컨테이너 조회

컨테이너를 조회하여 실행중인지, 종료되었는지도 확인할 수 있습니다. ls 명령어는 사용할만한 옵션이 굉장히 많은데 추후 조금씩 업로드 하겠습니다.

  • docker container ls -a    ## 옵션 -a 을 사용하지 않을 경우 실행중인 컨테이너만 확인이 가능하고, 옵션 -a 사용할 경우 종료된 컨테이너까지 모두 확인이 가능 합니다.

 

12. 컨테이너 실행 확인

아래 명령어를 사용하면 해당 컨테이너의 상태(CPU, MEM 등)를 실시간으로 확인 할 수 있습니다.

  • docker container stats [컨테이너명]

 

도커 컨테이너 기본 명령어 정리 (2) : https://nirsa.tistory.com/58?category=868315

반응형