Windows Docker 주요 명령어 꿀팁 정리

Jong_cc·2022년 11월 7일
0

docker

목록 보기
1/1
post-thumbnail

알고있는 지식도 다시 한번 Developer 김종철 입니다.

docker 환경으로 kafka를 사용하여 아래와 같이 Rest API를 이용한 구성을 만들려고 하고 있습니다.

docker를 공부하며 주요 명령어 및 꿀팁들을 정리해보려 합니다.

==================================================================

1. docker 설치를 위한 구성 준비

1-1. 제어판 > 프로그램 및 기능 > windows 기능 켜기/끄기 > Hyper-V, Linux 용 Windows 하위 시스템 Enable

1-2. Docker 설치
https://www.docker.com/products/docker-desktop/

1-3. wsl2 업그레이드
: 최신 Windows 버전이 아닐 경우 에러 발생 하기 때문에, 에러가 발생한다면 윈도우즈 업데이트 확인 필요
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

1-4. compose 설치

Docker는 각각 컨테이너를 생성해서 이미지를 관리하게 된다. 예를들어 kafka, kafka Manager, Zookeper 실행 하려고 할경우 각각 컨테이너마다 명령어를 쳐줘야하는 불편함이 존재 한다. 이런 불편함을 없앨 수있는게 docker compose 다. 각각의 컨테이너들을 하나의 서비스로 묶을 수 있으며, 그로 인해 기동, 중지 등 모든 기능들을 한번의 명령어로 관리 할 수 있다.

: 설정 파일 docker-compose.yml 파일 생성 (예시)

version: "3.8"

networks:
  kafka-net:
    driver: bridge

services:
  zookeeper:
    image: bitnami/zookeeper:latest
    networks:
      - kafka-net
    ports:
      - '2181:2181'
    environment:   
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka:
    image: bitnami/kafka:latest
    networks:
      - kafka-net    
    ports:
      - '9093:9093'
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
      - KAFKA_CFG_LISTENERS=CLIENT://:9092,EXTERNAL://:9093
      - KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9092,EXTERNAL://localhost:9093
      - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=CLIENT
    depends_on:
      - zookeeper
      
      
  kafka-manager:
      image: hlebalbau/kafka-manager:latest
      ports:
        - "9000:9000"
      links:
        - zookeeper
        - kafka
      environment:
        ZK_HOSTS: zookeeper:2181
        APPLICATION_SECRET: letmein
        KM_ARGS: -Djava.net.preferIPv4Stack=true
          

2. docker 명령어

2-1. docker-compose up -d (-d 옵션은 백그라운드 실행 옵션이다.)
: yml 파일에 등록되어 있는 설정 정보를 기준으로 Docker 컨테이너들을 생성 및 실행 한다.

2-2. docker ps
: 실행 중인 Docker Container 정보들을 확인 할 수 있다.

2-3. docker-compose logs -f (-f 옵션은 실시간 로그도 Attach 된다.)
: 실행 중인 docker-compose 로그 정보를 확인 가능 하다.
: 특정 컨테이너에 대한 로그를 확인 하고 싶다면 docker-compose logs 서비스 이름을 기재 하면 된다.

2-4. docker-compose down
: 실행 중인 docker-compose 를 down 시킨다.

2-5. docker exec -it containerID /bin/bash
: docker ps 에서 조회한 containerID를 기준으로 실행되고 있는 Container에 접속이 가능하다.
(편하게 생각하면 실행 중인 UNIX 환경으로 접속 한다.)
: 종료 명령어는 exit 이다.

3. Docker Desktop 사용법

3-1. compose로 docker를 실행하였다면 아래와 같이 docker라는 서비스 이름에 컨테이너들이 묶인 것을 확인 할 수 있다.

3-2. docker 옆에 체크박스를 통해 전체 선택 / 전체 선택 해제가 가능하며 실행, 일시 중지, 중지, 삭제가 가능하다.

3-3. 컨테이너 별 기동 상태 및 포트, 기동 시간 확인이 가능하다.

3-4. IMAGE 부분을 클릭 하면 실시간 로그, 설정정보, 터미널, 실시간 사용율 등을 확인 할 수 있다

3-5. 현재까지 올려서 사용하던 컨테이너 정보를 확인 할 수있으며, 현재 기동 중인지, 기존 것을 삭제 할지 등을 선택 할 수 있다.
: In use only 를 선택할 경우 사용하는 컨테이너만 골라서 볼 수 있다.

profile
알고있는 지식도 다시한번!!#Developer #Like Java

1개의 댓글

comment-user-thumbnail
2022년 12월 14일

잘봣어요~~~

답글 달기