[Docker] 도커 컨테이너에 타이머를 올려보자

junghan·2023년 8월 3일
0

Docker

목록 보기
2/6
post-thumbnail

도커 환경 구성 하기

도커 파일 생성

## Dockerfile

FROM openjdk:11

WORKDIR /app

COPY FancyTimer.java .

RUN javac FancyTimer.java


CMD ["java", "FancyTimer"]
  • 사용할 이미지 기반으로 컨테이너 실행하기 Java11을 설치해보자
    FROM openjdk:11

  • 컨테이너 내부에 /app디렉토리를 생성하고, 해당 디렉토리를 현재 작업 디렉토리로 설정하기
    WORKDIR /app

  • 호스트 환경에 있는 FancyTimer.java 파일을 컨테이너 내부의 /app디렉토리로 복사
    COPY FancyTimer.java .

  • Java 코드를 컴파일하기
    RUN javac FancyTimer.java

  • 컨테이너 실행시 해당 명령어를 통해 이전에 생성된 class 파일을 실
    CMD ["java", "FancyTimer"]

자바 파일 생성

// FancyTimer.java

import java.util.Scanner;

public class FancyTimer {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("⏰ 원하는 초단위 시간을 입력해주세요😀 : ");
        int seconds = scanner.nextInt();
        scanner.close();
        timer(seconds);
    }

    public static void timer(int seconds) {
        try {
			for(int i = 1; i <= seconds;i++)
			{	
				Thread.sleep(1000);
				System.out.println(i + "초");
			}
            System.out.println("⌛️⌛️ 시간이 종료되었습니다!!! ⌛️⌛️");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

도커 이미지로 ⏰타이머를 실행해보기

1. 호스트 환경에서 현재 디렉토리에 Dockerfile이 있는지 확인하기

2. 도커파일을 이미지로 빌드하기

docker build -t fancytimer .

3. 이미지를 실행시킬 때, 쉘 환경과 상호 작용하기 위해 -it를 붙이기

docker run -it fancytimer

4. 초 단위 시간을 입력하면 ⏰ 타이머가 작동되고 컨테이너를 종료합니다

profile
42seoul, blockchain, web 3.0

0개의 댓글