이번주는 도커를 직접 실습해보았다!
실습이 꽤 흥미로워서 실습에 열중하다보니 오히려 실습 화면을 캡쳐하는 것을 잊어버린 바람에..^_ㅠ 일단 보고서에는 주요 명령어들만 핵심적으로 빠르게 정리하고, 추후에 실습 캡쳐본을 추가할 예정이다!
그 전에 앞서 도커 이미지 명령어는 어떻게 구성되어있는지 아래 그림으로 살펴보자!
![](https://blog.kakaocdn.net/dn/Dslel/btsyDKpqpdp/rFKZWXniqK5bBeS2kkU5j1/img.jpg)
[도커 명령어 활용]
* 이미지 검색하기
docker search 이미지명[: TAG]
* 도커 이미지 내려받기
docker [image] puLL [OPTIONS] 이미지명[: TAG]
![](https://blog.kakaocdn.net/dn/xhH4O/btsyDuApWvP/ebIP9kw9N9qYF0cinKMojK/img.jpg)
* 도커 이미지 목록 출력하기
docker image ls
docker images
* 도커 이미지 세부 정보 조회하기
docker image inspect [OPTIONS] 이미지명[: TAG]
- “Id”: 이미지 ID
- "Created”: 생성일
-“DockerVersion”: Docker 버전
- "Architecture": CPU 아키텍처
-“RootFS”: 이미지 다이제스트 정보
- “GraphDriver”: 이미지 레이어 저장 정보
* 도커 이미지 히스토리 조회하기
docker image history [OPTIONS] 이미지명[: TAG]
- 이미지 구성 레이어의 수행 명령, 크기 등 조회
- 위쪽 내용이 최신 변경 내역
* 도커 이미지 태그 설정하기
docker tag 원본이미지명[:TAG] 참조이미지명[: TAG]
* 도커 로그인하기
docker Login
* 도커 로그아웃하기
docker logout
* 도커 이미지 삭제하기
docker image rm [옵션] {이미지명[:TAG] | 이미지1마
docker rmi [옵션] {이미지명[: TAG] 1 이미지ID}
- 컨테이너가 실행 중인 이미지는 삭제 불가
- 구동 중인 컨테이너를 멍추고 컨테이너를 삭제한 이후에 이미지 삭제 가능
* 모든 도커 이미지 삭제하기
docker image prune
- 로컬에 다운로드한 이미지 중 하나 이상의 컨테이너 가 연결되지 않은 모든 이미지를 제거
- Dangling 이미지(태그가 붙지 않은 이미지, 어떤 컨테이너도 창조하지 않는 이미지) 모두 삭제
* 컨테이너 목록 확인하기
docker container Ls
docker ps
- 컨테이너 목록을 출력하기
• -a 옵션을 사용하면 정지된 컨테이너까지 모두 출력
• 옵션을 사용하지 않으면 실행되고 있는 컨테이너만 출력
* 컨테이너 실행하기
docker [container] run [옵션] 이미지명 [실행명령]
- 이미지를 기반으로 컨테이너 실행
- [pull] + create + start + [command]
* 컨테이너 생성하기
docker [container] create [옵션] 이미지명
* 컨테이너 시작하기
docker [container] start [옵션] 컨테이너명
* 컨테이너 접속하기
docker [container] attach [옵션] 컨테이너명
* 컨테이너 삭제하기
docker [container] rm [옵션] 컨테이너명
• 컨테이너를 삭제
• f 옵션을 통해 동작 중인 컨테이너도 삭제 가능 (SIGKILL)
* 컨테이너를 정지할 때 함께 삭제하기
docker [container] run --rm [옵션] 이미지명
* 실행 중이지 않은 모든 컨테이너 파기하기
docker container prune [옵션]
⭐️ run과 start의 차이⭐️
- run은 새로운 컨테이너를 이미지로부터 만듦
• docker container run IMAGE ID
- start l stop은 기존에 실행되었던 컨테이너를 중지시
키거나 실행시킴
• docker container start CONTAINER_ID
• docker container stop CONTAINER_ID
* 컨테이너 정지하기
docker [container] stop 컨테이너명
* 컨테이너 재시작하기
docker [container] restart 컨테이너명
* 외부에서 컨테이너 안의 명령 실행
docker [container] exec 컨테이너명 실행명령
- 외부에서 컨테이너 안의 명령 실행하기
• 컨테이너가 실행되고 있는 상태에서만 사용할 수 있으며 정지된 상태에서는 사용할 수 없음
• docker exec 명령은 이미 실행된 컨테이너에 apt-get, yum 명령으로 패키지를 설치하거나 각종 daemon을 실행 할 때 활용
* 컨테이너 표준 출력 호스트에 연결하기
docker [container] 10gs 컨테이너명
* 컨테이너와 호스트 간 파일 복사하기
docker [container] cp 컨테이너명: 원본파일 대상파일
docker [container] cp 원본파일 컨테이너명:대상파일
* 컨테이너 사용 현황 확인하기
docker [container] stats 컨테이너명
* 컨테이너에서 변경된 파일 확인
docker [container] diff 컨테이너명
* 컨테이너 세부 정보 확인하기
docker [container] inspect 컨테이너명
- 컨테이너의 세부 정보를 출력 (할당 IP 주소 등)
* 컨테이너의 변경사항을 이미지로 생성
docker [container] commit [옵션] 컨테이너명 이미지명[:태그]
'개발냥발' 카테고리의 다른 글
오픈소스 보고서 7주차 (0) | 2023.10.23 |
---|---|
오픈소스 5주차 보고서 (0) | 2023.10.09 |
오픈소스 4주차 보고서 (0) | 2023.09.25 |
오픈소스 3주차 보고서 - Git (0) | 2023.09.18 |
오픈소스SW 2주차 보고서 - DevOps와 GCP (0) | 2023.09.11 |