멋쟁이 사자처럼

[멋사 백엔드 부트캠프] docker 명령어 정리

sunm2n 2025. 6. 24. 16:52

컨테이너1

 

컨테이너2

 

이미지

 

기본 리눅스 명령어

 

 

Dockerfile로 이미지 만들기

 

#사용할 베이스 이미지 명시 (공식 이미지 권장)

FROM openjdk:17-jdk

#작업 디렉토리 생성 및 설정(컨테이너 내부 경로에 시작점으로 지정 -> 없으면 생성 됨)

WORKDIR /app

#jar파일 등 빌드 결과물을 컨테이너에 복사 (호스트 -> 컨테이너)

COPY build/libs/myapp.jar /app/app.jar

#환경변수 사용

ENV PROJECT_NAME =“스프링 웹 서버입니다."

#컨테이너 실행시 기본으로 실행할 명령

CMD ["java", "-jar", "/app/app.jar"]

 

//이미지 만드는 명령어

docker build -t [이미지이름]:[태그] [Dockerfile경로]

//예시

docker build -t backend .

 

 

docker Hub에 이미지 올리기

 

//이미지 올리기 전 태깅하기

docker tag backend:v1 eunshik/ backend:v1

//push

docker push eunshik/ backend:v1

 

 

docker compose

 

 

docker-compose.yaml 파일로 여러 컨테이너 만들기

 

services:

  backend1:                                 # 서비스 이름

    image: backend                    # 이미지 이름

    container_name: backend1   #컨테이너 이름

    ports:

      - "8080:8080"    # 호스트:컨테이너 포트 매핑

    volumes:

      - ./logs:/app/logs                            # (호스트:컨테이너) 볼륨 폴더 마운트

  database:

    image: mysql:8.0

    container_name: database  #컨테이너 이름

    restart: always  #컨테이너 꺼지면 자동 재시작

    ports:

      - "3307:3306“ 

    environment:

      MYSQL_ROOT_PASSWORD: 1234

      MYSQL_DATABASE: backend

    volumes:

      - ./volumes/mysql-data:/var/lib/mysql

 

//컨테이너 생성 및 시작

docker compose up -d