AWS ECS 학습과 Docker 명령어 정리
최근 AWS의 ECS(Elastic Container Service) 학습을 시작했습니다.
AWS ECS는 컨테이너 기반의 CI/CD 서비스를 제공하기 때문에 Docker와 컨테이너에 대한 이해가 필수적입니다.
이에 따라 Docker 명령어를 정리해보았습니다.
Docker 명령어 정리
1. 가장 자주 쓰는 명령어
docker run [image name]
이 명령어는 사실상 다음 두 명령어를 함께 실행하는 것입니다:
docker create [image name]
docker start [image name]
2. Docker 명령어 상세 설명
2.1. docker create [image name]
컨테이너를 생성하는 명령어입니다.
컨테이너는 이미지의 인스턴스로, 생성되었지만 아직 실행되지 않은 상태입니다.
2.2. docker start [container id]
생성된 컨테이너를 실행하는 명령어입니다.
컨테이너의 파일 시스템이 그대로 유지되기 때문에 컨테이너를 중지하고 다시 시작해도 이전 상태를 그대로 복원할 수 있습니다.
2.3. docker run -it [image name]
이미지를 기반으로 컨테이너를 생성하고, 터미널을 유지한 채로 인터랙티브하게 실행합니다.
docker run -it ubuntu /bin/bash
이 명령어는 Ubuntu 이미지를 기반으로 컨테이너를 실행하고 bash 쉘을 여는 예시입니다.
2.4. docker ps
현재 실행 중인 컨테이너 목록을 보여주는 명령어입니다.
docker ps
2.5. docker ps --all
실행 중이지 않은 컨테이너를 포함하여 모든 컨테이너 목록을 보여줍니다.
docker ps --all
2.6. docker system prune
현재 실행 중이지 않은 모든 컨테이너와 불필요한 데이터를 삭제합니다.
docker system prune
2.7. docker run -d [image name]
컨테이너를 백그라운드에서 실행하는 명령어입니다.
현재 터미널에 표시되지 않습니다.
docker run -d nginx
2.8. docker logs [container id]
백그라운드에서 실행 중인 컨테이너의 로그를 확인하는 명령어입니다.
docker logs [container id]
2.9. docker stop [container id]
컨테이너를 정상적으로 종료하는 명령어입니다.
docker stop [container id]
이 명령어는 SIGTERM/SIGINT 신호를 보내고, 10초 동안 작업을 마칠 시간을 준 뒤 SIGKILL 신호를 보냅다.
2.10. docker kill [container id]
컨테이너를 즉시 강제 종료하는 명령어입니다.
docker kill [container id]
3. 추가적으로 자주 사용하는 Docker 명령어
3.1. docker pull [image name]
Docker Hub로부터 이미지를 다운로드하는 명령어입니다.
docker pull ubuntu
3.2. docker build -t [image name] [Dockerfile directory]
지정된 디렉토리에 있는 Dockerfile을 사용하여 이미지를 생성하는 명령어입니다.
docker build -t myapp:latest .
3.3. docker exec -it [container id] [command]
이미 실행 중인 컨테이너에서 명령어를 실행하는 명령어입니다.
docker exec -it [container id] /bin/bash
3.4. docker rm [container id]
중지된 컨테이너를 삭제하는 명령어입니다.
docker rm [container id]
3.5. docker rmi [image id]
이미지를 삭제하는 명령어입니다.
docker rmi [image id]
3.6. docker tag [image id] [repository]
이미지에 태그를 추가하는 명령어입니다.
docker tag [image id] myrepo/myapp:latest
3.7. docker push [repository]
이미지를 Docker Hub에 업로드하는 명령어입니다.
docker push myrepo/myapp:latest
3.8. docker inspect [container id/image id]
컨테이너 또는 이미지의 상세 정보를 JSON 형식으로 출력하는 명령어입니다.
docker inspect [container id]
3.9. docker-compose up docker-compose.yml
파일에 정의된 서비스를 생성하고 시작하는 명령어입니다.
docker-compose up
3.10. docker-compose down docker-compose.yml
파일에 정의된 서비스를 중지하고 제거하는 명령어입니다.
docker-compose down
4. Container ID 단축 사용
Docker 명령어에서 컨테이너 ID는 전체를 입력하지 않고 앞 몇 글자만으로도 명령어를 실행할 수 있습니다.
예를 들어, 컨테이너 ID가 abc123라면, 다음과 같이 단축해서 사용할 수 있습니다
docker stop abc
여러 컨테이너 ID가 중복되지 않는 한 앞부분만 입력해도 Docker는 올바른 컨테이너를 인식합니다.
'Infra > Docker' 카테고리의 다른 글
Docker volume 활용한 개발환경 구축 (0) | 2023.12.11 |
---|---|
Docker Image 생성과 DockerIgnore를 사용한 .env 관리, 캐싱 활용 (0) | 2023.12.11 |
Port mapping (0) | 2023.12.10 |