[java] Maven을 사용하여 도커 이미지 빌드하기

도커는 애플리케이션을 컨테이너로 패키징하고 실행하는 데 사용됩니다. 도커 이미지는 애플리케이션을 실행하는 데 필요한 모든 종속성과 설정을 포함하고 있습니다. 이번에는 Maven을 사용하여 Java 애플리케이션을 도커 이미지로 빌드하는 방법을 알아보겠습니다.

1. Dockerfile 작성하기

먼저, 도커 이미지를 빌드하기 위해 Dockerfile을 작성해야 합니다. Dockerfile은 도커 이미지를 생성하는 데 사용되는 명령어들을 포함하고 있습니다. 간단한 예시로 아래와 같이 Dockerfile을 작성할 수 있습니다.

FROM openjdk:8-jdk-alpine
COPY target/my-app.jar /opt/my-app.jar
CMD java -jar /opt/my-app.jar

위의 예시에서는 openjdk:8-jdk-alpine 베이스 이미지를 사용하고, target/my-app.jar 파일을 /opt/my-app.jar 경로로 복사한 후, 컨테이너에서 해당 JAR 파일을 실행합니다.

2. Maven 프로젝트 설정하기

도커 이미지를 빌드하기 위해 Maven 프로젝트를 설정해야 합니다. pom.xml 파일에 아래와 같은 플러그인을 추가하여 도커 이미지 빌드 명령어를 실행할 수 있습니다.

<build>
    <plugins>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>dockerfile-maven-plugin</artifactId>
            <version>1.4.10</version>
            <executions>
                <execution>
                    <id>docker-build</id>
                    <goals>
                        <goal>build</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

위의 설정에서는 dockerfile-maven-plugin 플러그인을 사용하여 Dockerfile을 기반으로 도커 이미지를 빌드합니다.

3. 도커 이미지 빌드하기

위의 설정이 완료되었다면, Maven 프로젝트를 빌드하여 도커 이미지를 생성할 수 있습니다. 아래의 명령어를 이용하여 Maven을 실행하면 도커 이미지가 빌드됩니다.

mvn package dockerfile:build

이 명령어를 실행하면 Maven은 pom.xml 파일을 기반으로 프로젝트를 빌드하고, Dockerfile을 사용하여 도커 이미지를 빌드합니다. 이미지는 로컬 도커 데몬에 저장됩니다.

4. 도커 이미지 실행하기

도커 이미지가 성공적으로 빌드되었다면, 해당 이미지를 실행할 수 있습니다. 아래의 명령어를 사용하여 도커 컨테이너를 실행하세요.

docker run -p 8080:8080 이미지_이름

위의 예시에서는 -p 플래그를 사용하여 도커 컨테이너의 포트를 호스트의 8080 포트와 매핑합니다. 이미지_이름은 빌드한 도커 이미지의 이름입니다.

결론

이렇게 Maven을 사용하여 Java 애플리케이션을 도커 이미지로 빌드하고 실행하는 방법을 알아보았습니다. 도커를 사용하여 애플리케이션을 패키징하면 애플리케이션의 배포와 실행이 편리해집니다. Maven과 도커의 조합은 개발자들에게 큰 혜택을 제공할 수 있습니다.


참고 자료: