개요.

무작정 도커를 설치하고 부트를 도커화시킨다.

 

1. 윈도우 환경에서 도커를 설치

도커 공식 홈페이지에 들어가서 그냥 냅다 설치한다. 하지만 사전에 확인할 사항이 있다. 아래의 링크에 좀더 자세히 설명되어 있다. (버전, Window 가상화 지원 세팅 여부 등)

https://luckygg.tistory.com/165

 

 

2. 스프링부트 프로젝트 빠르게 생성 및 도커라이징

여차저차 스프링부트 프로젝트 만들고, 이후에 Dockerfile 만들었다.

FROM openjdk:8-jre
EXPOSE 8080
ADD build/libs/spring-docker-1.0.0.jar spring-docker-1.0.0.jar
ENTRYPOINT ["java", "-jar", "/spring-docker-1.0.0.jar"]
PASUDO@DESKTOP-PARK MINGW64 /d/doubler/dev/pasudo123-workspace/spring-springboot-atoz/pasudo123-spring-docker-sample (master)
$ docker build -t spring-docker.jar .
Sending build context to Docker daemon  18.16MB
Step 1/4 : FROM openjdk:8-jre
 ---> 2df355aab4eb
Step 2/4 : EXPOSE 8080
 ---> Using cache
 ---> ab2dbe17b942
Step 3/4 : ADD build/libs/spring-docker-1.0.0.jar spring-docker-1.0.0.jar
 ---> 9f593bb6560d
Step 4/4 : ENTRYPOINT ["java", "-jar", "/spring-docker-1.0.0.jar"]
 ---> Running in 0a76b6786ae5
Removing intermediate container 0a76b6786ae5
 ---> 340ee739d3da
Successfully built 340ee739d3da
Successfully tagged spring-docker.jar:latest
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It
 is recommended to double check and reset permissions for sensitive files and directories.
  • ADD 명령어에서 처음에 잘못작성해서 문제가 발생했다.
    • 일단 gradle 로 build 이후에 해당 경로에 맞추어서 진행하였다.
    • ADD {source} {destination} 이라고 한다.
  • 도커 관련 명령어

 

3. 스프링 부트 이미지 실행

docker run -p 9090:8080 spring-docker.jar
  • 9090 포트로 이미지 실행.
  • 9090 포트는 8080 포트로 리다이렉트? 나중에 알아보기로.

 

4. 윈도우 커맨드 : (1)특정 포트찾고, (2)태스크 확인 이후에 (3)킬

  • 9090 포트가 떠있어서, 프로세스 킬하고 수행시키기 위해서 아래 명령어 수행.
C:\Users\PASUDO>netstat -ano | find "LISTENING" | find "9090"
  TCP    0.0.0.0:9090           0.0.0.0:0              LISTENING       19628
  TCP    [::]:9090              [::]:0                 LISTENING       19628

C:\Users\PASUDO>tasklist /FI "PID eq 19628"

이미지 이름                    PID 세션 이름              세션#  메모리 사용
========================= ======== ================ =========== ============
com.docker.backend.exe       19628 Console                    1     19,412 K

C:\Users\PASUDO>taskkill /F /PID 19628
성공: 프로세스(PID 19628)가 종료되었습니다.

 

5. 동작중인 컨테이너 확인

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
8c75420d1c87        spring-docker.jar   "java -jar /spring-d…"   7 minutes ago       Up 7 minutes        0.0.0.0:9090->8080/tcp   optimistic_visvesvaraya

 

[추가 : 2020-03-02]

  • 실제 운용중인 나스가 있어서 위처럼 샘플로 수행해면 내용을 따라 수행.
    • 로컬 PC 에서 jar 파일 및 Dockerfile 을 nas 이동
    • jar 파일 기반, Dockerfile 이용하여 image 생성. nas 에서 이미지 조회 가능
      • docer build -t {jar 파일 명} . ( dot 을 붙여준다. )
      • sudo docker run -p {sour-port}:{dest-port} {image-name}:{tag-name}
        • 실행안됌? => 2020-03-07 : 실행하였다. (도커명령어가 완전히 파악이 안되었던 문제이며, 따로 정리할 예정)
      • docker images

 

 

관련링크

https://www.youtube.com/watch?v=e3YERpG2rMs

Posted by doubler
,