Docker CLI

이정훈·2024년 8월 15일

Docker

목록 보기
23/34

Docker CLI는 커맨드 라인 인터페이스를 통해 컨테이너, 이미지, 볼륨, 네트워크를 관리할 수 있게 해줍니다.

Docker CLI를 사용하기 위해 Docker CLI만 다운로드 해도 되지만 Docker Desktop를 설치해도 Docker CLI가 같이 설치되기 때문에 Docker Desktop을 설치하는 것을 추천합니다.
Docker Desktop For Window

Basic CLI Commands

  • docker run
    Docker의 이미지를 이용해 컨테이너를 실행합니다.

  • docker container ls
    Docker에서 실행되고 있는 컨테이너들의 리스트를 보여줍니다.

  • docker image ls
    Docker에 설치된 이미지 리스트를 보여줍니다.

  • docker pull
    Docker Hub나 다른 레지스트리에서 이미지를 가져옵니다.

  • docker push
    Docker Hub나 다른 레지스트리에 이미지를 저장합니다.

  • docker build
    dockerfile을 통해 이미지를 빌드합니다.

  • docker exec
    컨테이너 내부에서 커맨드를 실행합니다.

  • docker logs
    컨테이너의 로그 기록을 보여줍니다.

Docker run Option

docker run 명령어와 관련된 옵션들을 살펴 보겠습니다.

  • -d, --detach
    컨테이너를 백그라운드 모드로 실행합니다.

  • -e, --env
    컨테이너의 환경 변수를 설정합니다.

  • -v, --volume
    컨테이너에서 사용할 볼륨을 설정합니다.

  • -p, --publish
    컨테이너의 포트를 호스트의 포트와 매핑합니다.

  • --name
    컨테이너에 이름을 부여합니다.

  • --restart
    컨테이너의 재시작 정책을 설정합니다.

  • --rm
    컨테이너가 종료되면 자동으로 해당 컨테이너를 삭제합니다.

Dockerfile

dockerfile은 스크립트로 Docker image를 빌드하기 위한 명령어들의 집합입니다.

# Set the base image to use
FROM alpine:3.7

# Update the system and install packages
RUN apk update && apk add curl

# Set the working directory
WORKDIR /app

# Copy the application file
COPY app.sh .

# Set the entry point
ENTRYPOINT ["./app.sh"]

위의 dockerfile은 아래 명령어로 빌드할 수 있습니다.

docker build -t my-image .

Docker Compose

Docker Compose는 CLI 도구로써 YAML파일을 이용해서 Docker 애플리케이션의 여러 컨테이너를 정의하고 관리하게 해줍니다.
Docker Compose를 사용하기 위해서는 Docker Compose를 설치해야 하는데 Docker Desktop을 설치할 때 같이 설치됩니다.

아래는 docker-compose.yml 파일의 예시입니다.

version: '3'
services:
  web:
    image: webapp-image
    ports:
      - "80:80"
  database:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=my-secret-pw

위 파일을 이용해 컨테이너를 실행하기 위해서는 아래 명령어를 사용하면 됩니다.

docker-compose up

Containers CLI

  • docker run
    컨테이너를 만들고 실행합니다.

  • docker container ls
    실행중인 컨테이너의 목록을 보여줍니다.

  • docker container stop
    실행중인 컨테이너를 멈춥니다.

  • docker container rm
    멈춘 컨테이너를 삭제합니다.

  • docker exec
    실행중인 컨테이너 내부에서 명령어를 실행합니다.

  • docker logs
    컨테이너의 로그를 가져옵니다. 디버깅에 유용합니다.

Image CLI

  • docker image ls
    사용가능한 모든 이미지를 보여줍니다.

  • docker build
    dockerfile을 통해 이미지를 만듭니다.

  • docker image rm
    이미지를 삭제합니다.

  • docker pull
    Docker Hub와 같은 레지스트리에서 이미지를 가져옵니다.

  • docker push
    Docer Hub와 같은 레지스트리에 이미지를 등록합니다.

Volume CLI

  • docker volume create
    새로운 볼륨을 만듭니다.

  • docker volume ls
    모든 볼륨의 목록을 보여줍니다.

  • docker volume inspect
    특정 볼륨에 대한 구체적인 정보를 보여줍니다.

  • docker volume rm
    볼륨을 삭제합니다.

  • docker volume prune
    사용하지 않는 모든 볼륨을 삭제합니다.

Network CLI

  • docker network create --driver
    새로운 네트워크를 만듭니다.

  • docker network ls
    모든 네트워크 목록을 보여줍니다.

  • docker network inspect
    네트워크에 대한 구체적인 정보를 보여줍니다.

  • docker network connect
    컨테이너를 네트워크에 연결합니다.

  • docker network disconnect
    컨테이너를 해당 네트워크에서 연결을 끊습니다.

  • docker network rm
    네트워크를 삭제합니다.

profile
기록으로 흔적을 남깁니다.

0개의 댓글