[Spring Boot] Rest API 공부 - CRUD 게시판 만들기 (2) | Docker

 

 

✏️ [Spring Boot] Rest API 공부 - CRUD 게시판 만들기 (2) | Docker

 

 

1. 도커 설치

$ curl -s https://get.docker.com | sudo sh

 

2. 도커 설치 됐는지 확인해보기

$ docker -v

 

3. sudo(관리자 권한) 없이 명령어 입력하게 하기

$ sudo usermod -aG docker $USER
$ sudo su - $USER

 

4. 인텔리제이에서 오른쪽에 Gradle 눌러서 bootJar 실행

-> jar 파일 1개 혹은 2개가 build -> libs 하위에 생긴다

2개가 생길 경우 위에 있는 파일을 사용한다

 

5. Dockerfile 파일 만들기 (build -> libs에 jar 파일과 같이 위치)

FROM openjdk:11-jdk
ARG JAR_FILE=study-0.0.1-SNAPSHOT.jar
ADD ${JAR_FILE} app.jar
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]

 

6. 윈도우 환경에서 리눅스 환경으로 Dockerfile이랑 jar 파일 보내기

-> 나는 putty를 사용해서 pscp.exe를 받아서 보냈지만 이거말고도 리눅스 환경으로

파일을 전송할 수 있는 방법이 많으니 다른 방법으로 해도 된다

$ PSCP.exe C:\dev\REST-API-STUDY\study\build\libs\Dockerfile ubuntu@192.168.56.1:/home/ubuntu/
$ PSCP.exe C:\dev\REST-API-STUDY\study\build\libs\study-0.0.1-SNAPSHOT.jar ubuntu@192.168.56.1:/home/ubuntu/

$ PSCP.exe [옵션] [전송하려는 파일] [사용자명]@[서버 IP]:[서버상 경로]

-> cmd창으로 보내기

 

7. 우분투에서 cd /home/ubuntu/ 이동

 

8. 도커 이미지 생성하기

$ docker build -t restapi .
$ docker build -t [원하는 이름] .

-- 혹시 인텔리제이에서 yml이나 properties파일을 수정하면 캐시를 지우고 이미지를 다시 생성해야한다
$ docker build --no-cache -t [이미지 이름] .

 

9. 컨테이너 실행

$ docker run -p 8080:8080 restapi