본문 바로가기
Docker

[Docker] Docker 자주 쓰이는 명령어 정리

by 젊은오리 2023. 3. 13.
728x90

우리는 보통 docker를 사용할 때 여러 이미지들을 layer로 쌓아서, 원하는 형태로 만든다. Ubuntu이미지에 Apache 웹 서버 이미지를 쌓아서 웹서버 이미지를 만들어 내는 것을 예로 들 수 있다. 이러한 docker 이미지가 리눅스 컨테이너 형태로 실행한 상태를 컨테이너라고 한다. 결국 docker는 이미지와 컨테이너를 다뤄서 작업하는 것이므로, 주요 명령어를 잘 이해하는 것이 중요하다. 

😊 이미지 관련 명령어

기능 명령어 사용 예시
이미지 다운로드 docker pull {이미지명} docker pull ubuntu
다운받은 이미지 목록 확인 docker images  
이미지 삭제 docker rmi {이미지ID 혹은 이미지 REPOSITORY} docker rmi ubuntu
모든 이미지 삭제 docker rmi -f $(docker images -q)  
이미지 조사 docker inspect {이미지명} docker inspect ubuntu

 

😊컨테이너 관련 명령어

기능 명령어 사용 예시
컨테이너 생성 docker create {이미지명} docker create ubuntu //ubuntu이미지 생성 후 임의의 이름을 가진 컨테이너 생성
컨테이너 이름 변경 docker create --name {내가 원하는 이름} {이미지명} docker create --name mycontainer ubuntu //ubuntu이미지 생성 후 "mycontainer"컨테이너 생성
전체 컨테이너 목록 확인 docker ps  
실행중인 컨테이너 목록 확인 docker ps -a  
컨테이너 실행 docker start {컨테이너명 혹은 컨테이너 ID} docker start mycontainer //"mycontainer"컨테이너 실행
컨테이너 중지 docker stop {컨테이너명 혹은 컨테이너ID} docker stop mycontainer //"mycontainer"컨테이너 중지
실행 중인 컨테이너 중지 docker stop $(docker ps -a -q)  
컨테이너 모두 삭제 docker rm $(docker ps -a -q)  
컨테이너 재실행 docker restart {컨테이너명 혹은 컨테이너ID} docker restart 5dc // 컨테이너ID가 5dc로 시작하는 컨테이너 재실행
컨테이너 삭제 docker rm {컨테이너명 혹은 컨테이너ID} docker rm mycontainer //"mycontainer"컨테이너 삭제

 

 

😊docker run 주요 옵션 정리

1. - it 옵션

"키보드 입력을 컨테이너의 표준 입력으로 전달하는 옵션"

아래 예시와 같이 docker run -it ubuntu 명령어를 통해 ubuntu컨테이너를 생성 후, 그 안으로 들어갈 수 있게 한다.

 

2. - - name 옵션

"컨테이너 생성 시에 이름을 설정하는 옵션"

아래 예시와 같이 docker run -it --name mycontainer ubuntu 명령어를 통해 mycontainer라는 이름의 컨테이너를 만들었다.

ctrl+p+q로 컨테이너를 중지하지 않고 나와 docker ps로 확인해 본 결과, 실행중인 "mycontainer" 컨테이너를 볼 수 있다.

 

3. - d 옵션

"컨테이너를 백그라운드에서 실행하는 옵션"

아래 예시와 같이 docker run it -d --name mycontainer ubuntu 명령어를 통해 mycontainer라는 이름의 컨테이너를 백그라운드에서 실행하도록 했다. docker ps로 확인해 본 결과, 실행중인 "mycontainer" 컨테이너를 볼 수 있다.

 

4. - - rm 옵션

"컨테이너 종료 시 컨테이너를 자동으로 삭제하는 옵션"

아래 예시와 같이 docker run -it --rm --name mycontainer ubuntu 명령어를 통해 mycontainer라는 이름의 컨테이너를 rm옵션을 붙여 종료 시 자동삭제 되도록 생성했다. 컨테이너를 종료(exit) 후 docker ps -a로 전체 컨테이너 목록을 출력해본 결과 삭제된 모습을 볼 수 있다.

 

5. - - p 옵션

"호스트와 컨테이너 포트를 연결하는 옵션"

아래 예시와 같이 docker run -d -p 9999:80 --name mycontainer httpd 명령어를 통해 mycontainer라는 이름의 컨테이너를 만들었다. -d옵션으로 백그라운드로 실행시켰고, -p 9999:80옵션으로 외부 호스트의 9999번 포트를 컨테이너의 80번 포트와 연결하도록 했다. 

 

※ 주의 : EC2 인스턴스에서 보안그룹 > 인바운드 규칙 편집 > 규칙 추가> 포트범위 9999 모든 IP 규칙 저장

외부에서 IP:9999로 접속했을 때 웹서버가 동작함을 확인할 수 있다.

728x90

'Docker' 카테고리의 다른 글

[Docker] Docker에 Nginx웹서버 구축하기  (0) 2023.03.19
[Docker] EC2 Ubuntu서버에 docker 설치하기  (0) 2023.03.12
[Docker] Docker 개념 정리  (0) 2022.03.08

댓글