Docker

[Docker] 도커 주요 명령어

MoveForward 2023. 10. 25. 08:42

컨테이너 생성, 실행, 종료, 삭제

 

컨테이너 생성 및 실행

docker run [옵션]

 

※ 아파치 이미지를 사용해 컨테이너 생성 및 실행

docker run --name apa000ex1 -d httpd

=> 이름이 apa000ex1 이고, 아파치(httpd) 이미지를 이용하여 컨테이너 생성 및 실행(백그라운드로 실행)

 

옵션 형식 내용
--name 컨테이너_이름 컨테이너 이름을 지정
-p 호스트_포트번호 : 컨테이너_포트번호 포트 번호를 지정
-v 호스트_디스크 : 컨테이너_디렉터리 볼륨을 마운트
--net=네트워크_이름 컨테이너를 네트워크에 연결
-e 환경변수_이름=값 환경변수를 설정
-d 백그라운드로 실행
-i 컨테이너에 터미널(키보드)을 연결
-it 컨테이너와 상호 작용하는 대화형 모드로 컨테이너 내부의 터미널 접속, 내부에서 명령어를 실행하고 터미널 세션을 유지
-help 사용 방법 안내 메시지를 출력

 

컨테이너 목록 검색

docker ps

=> 현재 실행 중인 컨테이너의 목록을 출력

 

docker ps -a

=> 현재 존재하는 컨테이너의 목록 출력

 

  • 컨테이너 목록의 주요 항목
항목 내용
CONTAINER ID 컨테이너 식별자, 무작위 문자열 할당. 본래 64글자 앞에서 12글자만 출력
IMAGE 컨테이너를 만들 때 사용한 이미지의 이름
COMMAND 컨테이너 실행 시에 실행하도록 설정된 프로그램의 이름
CREATED 컨테이너 생성 후 경과된 시간
STATUS 컨테이너의 현재 상태. 실행 중이라면 ‘UP’, 종료된 상태라면 ‘Exited’ 출력
PORTS 컨테이너에 할당된 포트 번호. ‘ 호스트 포트 번호 -> 컨테이너 포트 번호‘ 형식으로 출력. 포트 번호가 동일할 경우-> 의 뒷부분은 출력되지 않음
NAMES 컨테이너 이름

 

컨테이너 정지

docker stop [컨테이너 이름]

※ 컨테이너를 삭제하려면 컨테이너를 정지시켜야 함.

 

컨테이너 삭제

docker rm [컨테이너 이름]

※ 정지 상태가 아닌 컨테이너를 대상으로 실행하면 오류 발생 후 컨테이너가 삭제 되지 않음.

 


포트 포워딩

※ 아래 조건을 만족하는 컨테이너

이름 : apa000ex2

이미지 : 아파치

포트 포워딩 : 8080 -> 80

 

docker run --name apa000ex2 -d -p 8080:80 httpd

 

=== ※ 분석 ※ ===

docker run

--name apa000ex2 => 이름 : apa000ex2

-d => 데몬 상태로 실행

-p 8080:80 => 포트 포워딩 : 8080 -> 80

httpd => 아파치 이미지

 

컨테이너 종료 및 삭제

docker stop apa000ex2

docker rm apa000ex2

 

※ 이미지 삭제 과정

 

1. 이미지 목록 확인

docker image ls

 

2. 이미지 버전 지정하여 다운로드

docker pull httpd:2.2

 

3. 이미지 목록 확인

docker image ls

 

4. 버전 지정 이미지 삭제

docker image rm httpd:2.2