You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 3
Next »
Dockerfile
FROM gradle:4.2.1-jdk8-alpine as build
WORKDIR /app
COPY . /app
COPY ./src /app/src
user root
RUN chmod +x ./gradlew
RUN ./gradlew build
FROM openjdk:8-jdk-alpine
WORKDIR /app
ENV ARTIFACT_NAME=demo-0.0.1-SNAPSHOT.jar
COPY --from=build /app/build/libs/$ARTIFACT_NAME /app
EXPOSE 8080
ENTRYPOINT /usr/bin/java -jar $ARTIFACT_NAME
Dockerfile build
[root@docker-compose-vm spring-reactor-redis]# docker build -t spring-reactor-redis:9 .
Sending build context to Docker daemon 244.7kB
Step 1/13 : FROM gradle:4.2.1-jdk8-alpine as build
---> 874e93a4569c
Step 2/13 : WORKDIR /app
---> Using cache
---> c0e03516b2de
Step 3/13 : COPY . /app
---> 0d587fe1f9c5
Step 4/13 : COPY ./src /app/src
---> e9343f3c7f74
Step 5/13 : user root
---> Running in 0d9b1a7d8f99
Removing intermediate container 0d9b1a7d8f99
---> 1b00e0a661a7
Step 6/13 : RUN chmod +x ./gradlew
---> Running in 02504a5c6458
Removing intermediate container 02504a5c6458
---> e2ca5ccdec7a
Step 7/13 : RUN ./gradlew build
---> Running in dd33fa498727
Downloading https://services.gradle.org/distributions/gradle-5.2.1-bin.zip
...................................................................................
Welcome to Gradle 5.2.1!
Here are the highlights of this release:
- Define sets of dependencies that work together with Java Platform plugin
- New C++ plugins with dependency management built-in
- New C++ project types for gradle init
- Service injection into plugins and project extensions
For more details see https://docs.gradle.org/5.2.1/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :compileJava
> Task :processResources
> Task :classes
> Task :bootJar
> Task :jar SKIPPED
> Task :assemble
> Task :compileTestJava
> Task :processTestResources NO-SOURCE
> Task :testClasses
> Task :test
> Task :check
> Task :build
BUILD SUCCESSFUL in 1m 52s
5 actionable tasks: 5 executed
Removing intermediate container dd33fa498727
---> f77eaf208b67
Step 8/13 : FROM openjdk:8-jdk-alpine
---> 3675b9f543c5
Step 9/13 : WORKDIR /app
---> Using cache
---> 5921acfa59ec
Step 10/13 : ENV ARTIFACT_NAME=demo-0.0.1-SNAPSHOT.jar
---> Using cache
---> 3089632629de
Step 11/13 : COPY --from=build /app/build/libs/$ARTIFACT_NAME /app
---> 345527ee9267
Step 12/13 : EXPOSE 8080
---> Running in 6db405924189
Removing intermediate container 6db405924189
---> f09e09df249a
Step 13/13 : ENTRYPOINT /usr/bin/java -jar $ARTIFACT_NAME
---> Running in a750c8fd7ba6
Removing intermediate container a750c8fd7ba6
---> e6f029e72f31
Successfully built e6f029e72f31
Successfully tagged spring-reactor-redis:9
[root@docker-compose-vm spring-reactor-redis]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
spring-reactor-redis 9 e6f029e72f31 11 minutes ago 128MB
Container 실행
[root@docker-compose-vm spring-reactor-redis]# docker run -expose=8080:8080 -d spring-reactor-redis:9
14731ecacd7fbc003a574d8d80c71f68fe9da5e8dd73ac9d9d48b8e2ca1a5fe8
[root@docker-compose-vm spring-reactor-redis]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14731ecacd7f spring-reactor-redis:9 "/bin/sh -c '/usr/bi..." 4 seconds ago Up 3 seconds 8080/tcp jovial_lichterman