Dockerizing Spring Boot Application
2020. 10. 4. 02:33ㆍ클라우드/Docker
앞서 만든 Docker파일을 빌드해서 이미지를 만든다.
$ docker build -t to-do-springboot .
Sending build context to Docker daemon 212MB
Step 1/7 : FROM adoptopenjdk/openjdk11:alpine
alpine: Pulling from adoptopenjdk/openjdk11
df20fa9351a1: Pull complete
229610c13af7: Pull complete
53a69ff98873: Pull complete
Digest: sha256:ffa9f929a59f305f72bf2ccf54885caa0044eb9c7c5b61d38a96a5815c20e21f
Status: Downloaded newer image for adoptopenjdk/openjdk11:alpine
---> 6b1ec1e25ce8
Step 2/7 : LABEL maintainer="narae456@gmail.com"
---> Running in f9426da31179
Removing intermediate container f9426da31179
---> 35a6affef99d
Step 3/7 : VOLUME /tmp
---> Running in 0adce4a804f4
Removing intermediate container 0adce4a804f4
---> a496c7feb91c
Step 4/7 : EXPOSE 8080
---> Running in 6e2fd19f6fe6
Removing intermediate container 6e2fd19f6fe6
---> f0384a207bee
Step 5/7 : ARG JAR_FILE=build/libs/todo-0.0.1-SNAPSHOT.jar
---> Running in 4ce8d200eed6
Removing intermediate container 4ce8d200eed6
---> 6f4bdeaaa120
Step 6/7 : ADD ${JAR_FILE} to-do-springboot.jar
---> 39f713455d10
Step 7/7 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/to-do-springboot.jar"]
---> Running in 2e8d6d0100b1
Removing intermediate container 2e8d6d0100b1
---> 7efbe5224c1f
Successfully built 7efbe5224c1f
Successfully tagged to-do-springboot:latest
Successfully tagged...
로 끝나면 이미지 생성을 성공한 것이다.
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
to-do-springboot latest 7efbe5224c1f 6 minutes ago 368MB
adoptopenjdk/openjdk11 alpine 6b1ec1e25ce8 2 months ago 342MB
hello-world latest bf756fb1ae65 9 months ago 13.3kB
mysql 5.7.19 3e3878acd190 2 years ago 412MB
도커 데스크탑 어플리케이션이나 images
명령어로 이미지 목록을 확인해보면
내가 만든 이미지 to-do-springboot
가 생긴 것을 확인할 수 있다.
$ docker run -p 5000:8080 to-do-springboot
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.3.4.RELEASE)
.
.
.
run
명령어로 컨테이너를 실행하면 gradle bootRun
했을 때와 같은 로그화면이 뜬다.
5000:8080
도커에서 5000번 포트로 받은 내용을 -> 어플리케이션의 8080 포트로 보낸다는 뜻
이렇게 하면 로컬에서 개발 할 때에는 8080 포트를 사용하고, 도커에 올리고 나서는 5000 포트를 사용할 수 있다.
5000번으로 받았으니 http://localhost:5000/ 으로 접속하면 서비스를 확인할 수 있다.
'클라우드 > Docker' 카테고리의 다른 글
Dockerfile의 ADD와 COPY의 차이 (1) | 2020.10.17 |
---|---|
Docker Compose (0) | 2020.10.17 |
Dockerfile (0) | 2020.10.04 |
hello world (0) | 2020.10.04 |
Docker Image (0) | 2020.10.01 |