Dockerを使用してjarファイルを配置


Dockerを使用してjarファイルを配置する


Build


jar名の変更


jarのデフォルト名は프로젝트명-0.010-SNAPSHOTです.
名前を変えたい場合は、build.gradleで以下のように設定できます.
bootJar{
    archivesBaseName = 'semoapi'
    archiveFileName = 'semoapi.jar'
    archiveVersion = "0.0.1"
}
  • ArchiveBaseName:プロジェクト名
  • ArchiveFileName:jarに変換する名前
  • build


  • Gradle-プロジェクト-タスク-構築-(clean,build,jar)
  • clean、build、jarの順に実行します.
  • jar格納場所:project-build-libs
  • Dockerfileの作成

    FROM openjdk:11-jdk
    VOLUME /tmp
    EXPOSE 8080
    ARG JAR_FILE=target/*.jar
    ADD ${JAR_FILE} semoapi.jar
    WORKDIR /home/api/target
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/semoapi.jar"]

    ファイル転送


    FileZillaを使用してローカルpcからAWS(ec 2)に転送します.
    ed 2インスタンスにapiフォルダを作成し、サブフォルダにターゲットフォルダを作成
    ドッキングファイルの場所:/home/api
  • jar位置:/home/api/target
  • Dockerファイルの実行


    上で作成したDockerfile格納場所(home/api)で次のコマンドを実行します.
    $ docker build --tag semopai:0.1 .
    上のコマンドは、現在のパスのすべてのファイル(.)です.semoapi名義で0.1バージョン構築docker imagesを使用してイメージの作成を検証
    $ docker images
    REPOSITORY   TAG       IMAGE ID       CREATED             SIZE
    semoapi      0.1       xxxxxxxxxxxx   About an hour ago   725MB
    docker run -d -p 8080:8080 IMAGE IDを使用したドッキングイメージの実行
    $ docker run -d -p 8080:8080 xxxxxxxxxxxx
  • -d:バックグラウンドで
  • を実行
  • -p:指定ポート番号
  • docker psにてコンテナ運転確認
    $ docker ps
    CONTAINER ID   IMAGE     COMMAND                  CREATED             STATUS             PORTS                                       NAMES
    xxxxxxxxxxxx   xx        "java -Djava.securit…"   About an hour ago   Up About an hour   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   vigilant_saha