본문으로 바로가기
반응형

명령어 간략 정리

docker images            # 이미지 목록 조회
docker ps                # 실행중인 컨테이너 목록 조회 (-a 옵션 시 종료된 컨테이너 목록도 보여줌)
docker kill CONTAINER_ID # 컨테이너 종료 

도커 이미지 빌드 명령어

docker build --tag [repo:tag] [Dockerfile path]

e.g.
docker build --tag myservice:0.1 

컨테이너 실행 관련 명령어

docker run IMAGE_ID       # 이미지ID 기반 새 컨테이너 생성하여 실행
docker run repo:tag       # 레파지토리&태그에 해당하는 이미지 기반 새 컨테이너 생성하여 실행

docker start CONTAINER_ID # 기존 생성된 특정 컨테이너를 실행시킴
docker stop CONTAINER_ID  # 기존 실행중인 특정 컨테이너를 종료시킴

docker rm CONTAINER_ID    # 컨테이너 삭제
docker rmi IMAGE_ID       # 이미지 삭제

SpringBoot Dockerfile 예시

  • Dockerfile을 작성한다.
    1. JDK11 환경 사용
    2. build/libs/app.jar 파일 (Dockerfile 기준 상대경로)을 app.jar라는 이름으로 컨테이너 내부에 추가
    3. “java -jar app.jar” 명령어 실행 (각 명령어 토큰을 배열 형태로 설정)
FROM openjdk:11
ADD build/libs/app.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
  • Dockerfile 이미지로 빌드
    • 현재 디렉토리 내 Dockerfile을 app Repository, 0.1 Tag로 빌드한다.
docker build -t app:0.1 .
  • 컨테이너 실행
    • -d 옵션 : 데몬 모드로 실행 (백그라운드에서 동작)
    • -p 옵션 : 호스트 포트로 들어오는 요청을 도커 컨테이너 내부 포트로 포워딩해줌 (호스트:컨테이너)
      • 아래 예시에선 5000번 포트로 들어오는 요청이 도커 컨테이너의 8080포트로 포워딩된다.
    • 실행할 이미지 : 이미지ID 또는 repo:tag 형태의 이미지 식별자 전달
docker run -d -p 5000:8080 app:0.1
  • 컨테이너 접속하여 잘 실행되고 있는지 확인
docker exec -it /bin/bash
ps -ef | grep java
반응형