CentOS 7 기반의 환경에서 진행했습니다
로컬과 원격 환경에서 도커를 모두 설치한 상태임을 가정하고 진행하겠습니다.
도커를 이용해서 스프링 부트 서버를 GCP 위에 실행시키는 작업을 해보겠습니다.
프로세스는 다음과 같습니다.
1. 이미지 생성
2. DockerHub Push
3. GCP 서버에서 Pull
4. 이미지 실행
5. 외부에서 접속
도커 이미지 생성하기 (docker build)
먼저 로컬에서 도커 이미지를 생성해보겠습니다.
스프링 부트 기반의 Demo Project 를 생성합니다.
배포할 jar 파일을 생성하고 루트 디렉토리에 Dockerfile 을 작성합니다.
Dockerfile 을 작성하고 나면 docker build 명령어를 통해 이미지를 생성할 수 있습니다.
루트 디렉토리로 이동해서 명령어를 실행합니다.
$ docker build -t demo .
-t : 이미지 이름 지정
docker images 명령어를 통해 빌드된 이미지 리스트를 확인할 수 있습니다.
$ docker iamges
이미지가 생성됐으면 Docker Hub 라는 저장소에 이미지를 Push 합니다.
도커 이미지 올리기 (docker push)
DockerHub 에 회원 가입이 된 상태라는 가정 하에 진행하겠습니다.
먼저 도커 허브에 로그인을 합니다.
$ docker login
명령어를 입력하면 username 과 password 를 입력해서 로그인을 할 수 있습니다.
그럼 이제 이미지를 태깅하고 푸쉬합니다.
$ docker tag demo longbeom/demo
demo 라는 이미지를 [도커 허브 이름]/[태그] 했습니다.
이제 docker push 명령어를 통해 이미지를 푸쉬합니다.
$ docker push longbeom/demo
정상적으로 푸쉬가 되면 도커 허브 레포지토리에 이미지가 올라간 걸 확인할 수 있습니다.
이제 원격 서버에 접속해서 도커 이미지를 받아보겠습니다.
도커 이미지 받아오기 (docker pull)
원격 서버에 접속한 뒤 docker pull 명령어를 실행합니다.
$ docker pull longbeom/demo:latest
이렇게 원격 서버에서 이미지를 받아왔습니다.
이제 이미지를 실행시켜서 스프링 부트 서버를 띄워보겠습니다.
이미지 실행 (docker run)
$ docker run -d -p 8088:8088 longbeom/demo