본문 바로가기
스터디일지

Docker 사용해보기

by 똥쟁이핑크 2023. 10. 7.

Docker란?

컨테이너 기반의 오픈소스고 가상화 플랫폼이다.

컨테이너는 다양한 OS에 여러 Application이 올려져 있는 것이라고 한다.
도커에서 칭하는 컨테이너에는 프로그램을 담는 격리된 공간이다. OS와 다양한 프로그램들도 담기게 된다.

그리고 각각 컨테이너는 격리된 공간이기 때문에 한 컨테이너가 해킹을 당해도 다른 컨테이너에는 영향을 끼치지 않는다는 장점이 있다.

또한 개발언어에 종속되지 않고 어디서나 실행이 가능하고 보안성도 뛰어나다.

 

 

1. Docker 다운 받기
https://docs.docker.com/desktop/install/windows-install/

 

Install Docker Desktop on Windows

Get started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.

docs.docker.com

설치하고 실행시키면(중간에 재부팅 과정도 있었음)

이 화면이 떠서 
https://learn.microsoft.com/ko-kr/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

 

이전 버전 WSL의 수동 설치 단계

wsl install 명령을 사용하지 않고 이전 버전의 Windows에 WSL을 수동으로 설치하는 방법에 대한 단계별 지침입니다.

learn.microsoft.com

여기에 들어가서

업데이트 패키지를 다운로드 했다.

 

그리고 재실행 했더니

이렇게 잘 넘어가고 있다.

위의 과정이 끝나고 나면 

이렇게 나오고 계정이 없어서 회원가입하고 로그인 까지 완료 했다.

 

2. Ubuntu 다운

이제 WSL을 사용하기 위해 우분투도 다운받아야 했다.

여기서 다운 받아 설치 했다.

실행하게 되면 이제 사용할 username과 사용할 password를 입력해주면 다음과 같이 뜬다.

 

3. jar파일 만들고 빌드 하기

이제 인텔리제이에서 jar 파일을 만들어보자

먼저 StringBoot을 먼저 실행시키고 간단한 코드를 짠뒤 빌드를 했는데

이런 에러가 발생되어 
Application을 그냥 실행 시켜 봤는데 

이런 에러가 떠서 확인해 보니 
Mysql 설정을 안해놔서 그런거였다.
MySQL 설정하고 포트는 누가 사용하고 있다고 떠서 포드 설정해주고 Application이 잘 작동되는거 확인하고 

빌드했더니 

잘 빌드가 됬다.

그리고 해당 jar파일이 있는 곳으로 경로를 이동하고 jar파일을 실행 시켰더니 잘됬다 .

 

4. Docker와 연결하기

이제 Docker랑 연결해야 한다.

연결 할 땐 IntelliJ에서 Docker file 폴더를 만들어 주고 거기에 파일을 만들어준다.

docker file 을 만들었고 이렇게 적어줬다.

FROM openjdk:17
EXPOSE 8088
ARG JAR_FILE_PATH=C:/hanghae99/Spring/final_project/build/libs/*.jar
#COPY ${JAR_FILE_PATH} app.jar

ADD ./build/libs/*.jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

그리고 

CMD에서 dockerfile이 있는 경로로 이동하고 

docker build -t final_project-0.0.1 .

실행하면

 

이렇게 잘 넘어간다.

docker images

위의 명령어를 실행하면 

다음과 같이 나오고 

docker desktop에 들어가서 확인하면 

잘 올라갔다

다음과정은 hub에 푸시를 해야 하는데 이 부분은 cmd 에서 실행했더니 권한이 없다고 나와서 

intelliJ에서 docker를 연결하고 hub에 푸쉬를 해줬더니 

이렇게 잘 올라가졌다

이제는 EC2 배포만 하면 된다.

EC2에 배포 하는 과정은 공부하면서 정리하려 한다.

 

 

참고한 사이트

 

https://goddaehee.tistory.com/251

 

[Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치)

[Docker (1)] window10 Docker 설치하기(윈도우 10 도커 설치) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ Window10 도커 설치 ] 입니다. : ) 도커 설치하기 ▶ 1. 도커란? 도커 설치와 관련된 포스팅 이기에

goddaehee.tistory.com

https://www.docker.com/blog/wsl-2-gpu-support-for-docker-desktop-on-nvidia-gpus/

 

WSL 2 GPU Support for Docker Desktop on NVIDIA GPUs | Docker

Learn from Docker experts to simplify and advance your app development and management with Docker. Stay up to date on Docker events and new version

www.docker.com

https://devmango.tistory.com/180

 

스프링부트 프로젝트 도커허브 이미지 빌드(feat. 인텔리제이)

* 스프링부트 프로젝트 생성 참고 : https://devmango.tistory.com/96 1. 스프링 부트 프로젝트 생성 - IntelliJ 기준1. IDE를 이용하여 직접 생성하기 1) 인텔리제이에서 [새 프로젝트] 버튼을 클릭한다. 2) Spring

devmango.tistory.com

https://fntg.tistory.com/193

 

Spring Boot 최초 실행 시 'Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource cou

Spring Boot 초기 프로젝트를 Initializr를 통해서 생성 한 뒤 최초 실행 할 경우 다음과 같은 오류가 발생하면서 정상적으로 실행이 되지 않을 경우. *************************** APPLICATION FAILED TO START **********

fntg.tistory.com

https://umanking.github.io/2021/07/11/spring-boot-docker-starter/

 

Spring Boot, Dockerfile로 이미지 생성, 배포하기

SpringBoot프로젝트, Dockerfile을 만들어서 이미지를 생성하고 배포해보자!

umanking.github.io

 

'스터디일지' 카테고리의 다른 글

CS 면접 질문 대비 11번 ~ 20번  (0) 2023.10.24
CS 면접 질문 대비 1번 ~ 10번  (1) 2023.10.11
MSA란 무엇인가??  (0) 2023.10.05
[WIL] 팀프로젝트를 진행하며....  (0) 2023.09.24
[WIL] 한 주의 정리  (0) 2023.09.10