도커(Docker)를 사용할 때 알아두면 유용한 주요 명령어들을 정리하고, 각각의 사용 예시를 알아보겠습니다.
기본 명령어
이 명령어들은 도커의 기본적인 작업을 수행하는 데 필수적입니다.
컨테이너 이름이 필요한 부분에는 컨테이너 ID를 대신 사용해도 됩니다.
컨테이너 ID를 사용할 때는 전체 ID를 입력할 필요 없이 다른 ID와 구분할 수 있는 자리수까지 입력하면 됩니다.
1. docker pull
- 설명: Docker Hub 또는 다른 레지스트리에서 이미지를 로컬 시스템으로 다운로드합니다.
- 사용 예시: docker pull nginx
- 이 명령은 Docker Hub에서 최신 버전의 Nginx 이미지를 다운로드합니다.
2. docker run
- 설명: 새 컨테이너를 생성하고 실행합니다. 이 명령은 이미지가 로컬에 없으면 자동으로 이미지를 다운로드합니다.
- 사용 예시: docker run -d --name my-nginx -p 8080:80 nginx
- -d: 백그라운드에서 컨테이너를 실행합니다.
- --name my-nginx: 컨테이너에 my-nginx라는 이름을 지정합니다.
- -p 8080:80: 호스트의 8080 포트를 컨테이너의 80 포트에 연결합니다.
- nginx: 사용할 이미지 이름입니다.
3. docker ps
- 설명: 실행 중인 컨테이너의 목록을 표시합니다.
- 사용 예시: docker ps
- 실행 중인 모든 컨테이너의 정보를 보여줍니다.
- docker ps -a: 중지된 컨테이너를 포함한 모든 컨테이너를 표시합니다.
4. docker stop
- 설명: 실행 중인 컨테이너를 중지합니다.
- 사용 예시: docker stop my-nginx
- my-nginx라는 이름의 컨테이너를 중지합니다.
5. docker rm
- 설명: 컨테이너를 삭제합니다. 컨테이너를 삭제하기 전에 컨테이너가 중지되어 있어야 합니다.
- 사용 예시: docker rm my-nginx
- my-nginx라는 이름의 컨테이너를 삭제합니다.
6. docker images
- 설명: 로컬 시스템에 있는 도커 이미지 목록을 표시합니다.
- 사용 예시: docker images
- 로컬에 저장된 모든 이미지의 목록을 보여줍니다.
7. docker rmi
- 설명: 도커 이미지를 삭제합니다.
- 사용 예시: docker rmi nginx
- nginx 이미지를 로컬 시스템에서 삭제합니다.
8. docker exec
- 설명: 실행 중인 컨테이너에 명령을 실행합니다.
- 사용 예시: docker exec -it my-nginx /bin/bash
- my-nginx 컨테이너에서 bash 쉘을 실행합니다. -it 옵션은 인터랙티브 모드를 활성화합니다.
9. docker logs
- 설명: 컨테이너의 로그를 표시합니다.
- 사용 예시: docker logs my-nginx
- my-nginx 컨테이너의 로그를 출력합니다.
10. docker build
- 설명: Dockerfile로부터 이미지를 빌드합니다.
- 사용 예시: docker build -t my-custom-nginx .
- 현재 디렉토리의 Dockerfile을 사용하여 my-custom-nginx라는 태그의 이미지를 빌드합니다.
고급 명령어
11. docker volume create
- 설명: 새 볼륨을 생성합니다. 볼륨은 컨테이너 간에 데이터를 공유하거나 데이터를 영속적으로 저장하는 데 사용됩니다.
- 사용 예시: docker volume create my-volume
- my-volume이라는 이름의 새로운 볼륨을 생성합니다.
12. docker volume ls
- 설명: 생성된 모든 볼륨의 목록을 표시합니다.
- 사용 예시: docker volume ls
- 시스템에 존재하는 모든 볼륨을 나열합니다.
13. docker volume rm
- 설명: 지정된 볼륨을 삭제합니다.
- 사용 예시: docker volume rm my-volume
- my-volume이라는 볼륨을 삭제합니다.
14. docker network create
- 설명: 사용자 정의 네트워크를 생성합니다. 이를 통해 컨테이너 간의 네트워킹을 구성할 수 있습니다.
- 사용 예시: docker network create my-network
- my-network라는 이름의 새로운 네트워크를 생성합니다.
15. docker network ls
- 설명: 시스템에 존재하는 모든 네트워크를 표시합니다.
- 사용 예시: docker network ls
- 생성된 모든 네트워크를 나열합니다.
16. docker network rm
- 설명: 지정된 네트워크를 삭제합니다.
- 사용 예시: docker network rm my-network
- my-network라는 네트워크를 삭제합니다.
17. docker attach
- 설명: 실행 중인 컨테이너의 표준 입력, 출력, 에러 스트림에 연결합니다.
- 사용 예시: docker attach my-nginx
- my-nginx 컨테이너에 연결하여 표준 출력을 볼 수 있습니다.
18. docker cp
- 설명: 호스트와 컨테이너 간에 파일 또는 폴더를 복사합니다.
- 사용 예시: docker cp my-nginx:/etc/nginx/conf.d .
- my-nginx 컨테이너의 /var/www/html 디렉토리 내용을 현재 호스트의 작업 디렉토리로 복사합니다.
- docker cp 컨테이너:폴더 경로 목적지 경로
19. docker history
- 설명: 특정 이미지의 변경 사항과 레이어 정보를 표시합니다.
- 사용 예시: docker history nginx
- nginx 이미지의 빌드 히스토리를 표시합니다.
20. docker inspect
- 설명: 컨테이너나 이미지에 대한 상세 정보를 JSON 형식으로 표시합니다.
- 사용 예시: docker inspect my-nginx
- my-nginx 컨테이너에 대한 상세 정보를 출력합니다.
'Docker' 카테고리의 다른 글
OS의 기능과 구조 (0) | 2023.12.20 |
---|---|
Docker의 레이어 기반 아키텍처 (0) | 2023.12.19 |
Docker 개념 및 가상머신(VM)과의 차이점 (0) | 2023.12.19 |