컨테이너를 나열하기
명령어 "docker ps"를 통해 현재 실행중인 컨테이너 목록을 나열할 수 있다.
- CONTAINER ID : 컨테이너의 고유한 아이디 해쉬값
- IMAGE : 컨테이너 생성시 사용한 도커 이미지명
- COMMOND : 컨테이너 시작 시 실행될 명령어. 대부분 이미지에 내장되어 있으므로 별도 설정이 필요 없다.
- CREATED : 컨테이너가 생성된 시간
- PORTS : 컨테이너가 개방한 포트와 호스트에 연결한 포트. 미설정시 표시되지 않는다.
- NAMES : 컨테이너 고유한 이름. 컨테이너 생성시 -name 옵션으로 설정 안하면 도커 엔진이 임의로 설정
docker rename 명령어로 이름을 변경할 수 있다.
ex) docker rename zen_clarke(original-name) good-luck(change-name)
컨테이너 중 원하는 항목만 보기
: 명렁어를 나열하여 원하는 항목만 볼 수 있다.
모든 컨테이너를 나열하기
: "docker ps -a" 명령어를 통해 현재 수행중인 컨테이너 뿐만 아니라 모든 컨테이너내역을 표시한다.
도커 컨테이너의 생명주기
도커 컨테이너 생성은 "docker run <이미지 이름>" 명령어를 통해서도 생성이 가능하다.
해당 명령어의 기능은 "docker create <이미지 이름>" + "docker start <컨테이너 아이디/이름>"으로 나눠 볼 수 있다.
Docker create + Docker Start 명령어
- Docker create <이미지> : 도커 컨테이너를 생성한다.
- Docker start <컨테이너 아이디> : 도커 컨테이너를 실행한다. 단 컨테이너 실행시 -a 명령어를 포함해야 한다.
- 명령어 수행 예시
- -a : attach : 걸치다는 의미이며 컨테이너를 실행한다. 넣지 않을 경우 컨테이너 아이디만 반환한다.
ex) "docker start -a 8c15b94d2973e"
Docker stop, Docker kill 명령어
- 도커를 중지시키는 명령어는 "Docker stop", "Docker kill" 두 가지가 있다.
- Stop은 Gracefully하게 중지를 시킨다. 그동안 하던 작업들을 (메시지를 보내고 있었다면 보내고 있던 메시지)
완료하고 컨테이너를 중지 시킨다. - Kill은 Stop과 달리 어떠한 것도 기다리지 않고 바로 컨테이너를 중지 시킨다.
docker stop <컨테이너 아이디/이름>
docker kill <컨테이너 아이디/이름>
도커 컨테이너 삭제하기
- 중지된 컨테이너를 삭제하기 : "docker rm <컨테이너 아이디/이름>"
- 현재 실행중인 모든 컨테이너를 삭제하기 : "docker rm -f $(docker ps -qa)"
- docker ps -qa은 현재 실행중인모든 컨테이너의 id만을 출력할 수 있다. - 이미지를 삭제하기 : "docker rmi <이미지id>
- 한번에 사용하지 않는 컨테이너, 이미지, 네트워크 모두 삭제하기 : "docker system prune"
실행 중인 컨테이너에 명령어 전달 (docker exec <컨테이너아이디> 명령어)
1. 먼저 터미널 2개를 실행한다.
2. 첫 번째 터미널에서 컨테이너를 하나 실행한다.
(docker alpine ping localhost)
3. 두 번째 터미널에서 컨테이너가 잘 작동하고 있는지
확인(docker ps)하고 다른 명령어를 전달한다.
- "docker exec <컨테이너 아이디> 명령어"
docker run vs docker exec
- docker run은 새로 컨테이너를 만들어서 실행한다.
- docker exec은 이미 실행 중인 컨테이너에 명령어를 전달한다.
실행 중인 컨테이너에서 터미널 생활 즐기기
- 현재 실행중인 컨테이너에 명령어를 전달 시 "docker exec -it <컨테이너 아이디> 명령어"를 필요시마다 계속 입력해야 하는 불편함이 존재한다.
- 이러한 문제점을 해결하기 위해 쉘이나 터미널 환경으로 컨테이너 안에 접속할 수 있다. (sh 명령어를 통해)
- "docekr exec -it <컨테이너 아이디> sh"
- 해당 컨테이너 안에 접근 시 다양한 쉘 명령어를 통해 여러 작업들을 수행할 수 있다.
- 터미널에서 빠져 나가기 위해서는 control + D 키를 눌러 나올 수 있다.
- exec대신 run을 통해서도 가능하다.
컨테이너 레디스를 통해 터미널 생활 즐기기
- 첫 번째 터미널
- 두 번째 터미널
'BackEnd > Docker' 카테고리의 다른 글
[Docker] 도커 이미지로 컨테이너 만들기 (0) | 2024.04.29 |
---|---|
[Docker] 기존 가상화 기술과의 차이 (0) | 2024.04.26 |
[Docker] Docker를 사용할 때의 흐름 (0) | 2024.04.26 |
[Docker] Docker 설치하기 (window) (0) | 2024.04.26 |
[Docker] 도커, 컨테이너, 이미지 (0) | 2024.04.26 |