아마 도커의 가장 큰 장점은 어떤 os에서 영향받지않고 실행이 되는것이다. 즉 내 환경이 윈도우 10이든  리눅스든, 윈도우서버든, aws든 관계없이 모든 어플리케이션이 도커에서 사용된다. 더욱 큰 장점으론 vm보다 더 가볍기도 하고 상당히 쉽다. 

일단 그림과 내용은 영상에서 참고 하길 바람니다.
먼저 제 환경은 윈도우 10이기 때문에 윈도우버전의 도커를 다운로드 받았습니다.
https://www.docker.com/products/docker-desktop/

 

Docker Desktop: The #1 Containerization Tool for Developers | Docker

Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

www.docker.com

다운 받으신후 실행하신후 로그인도 함께 해주시면 됩니다.
그리고 실행하시면 아래화면으로 뜹니다.

 
 
그리고나서 
 
DockerFile을 일단 인텔리제이에 작성합니다.

아래는 제 환경이라 이건 어떻게 쓰는냐에 따라 다르기때문에 본인 어플리케이션의 환경에 맞춰주세요! gradle,maven 참고

# 자바 런타임이 포함된 베이스 이미지로 시작
FROM openjdk:8-jdk-alpine

# /tmp를 가리키는 볼륨 추가
VOLUME /tmp

# 이 컨테이너 밖의 세계에 8080 포트를 사용할 수 있게 함
EXPOSE 8080

# 애플리케이션의 jar 파일
ARG JAR_FILE=build/libs/*.jar

# 애플리케이션의 jar를 컨테이너에 추가
ADD ${JAR_FILE} app.jar

# jar 파일 실행 
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 
그리고 도커 파일을 실행

 
실행하시면 구성을 아래와 같이 해주시고 이미지 태크 넣어주세요.

인텔리제이에서 

성공했다고 뜹니다.
 
그러면 확인해보시면 이미지 탭에 이런식으로 jar가 올라와있는걸 볼수 있습니다. 
이때 맨위에 action에서 play 모양을 클릭해주시면 

 

run을 클릭하시면 
아래와 같이 잘 실행 됩니다. 

 
그러면  cmd를 열어서

[docker run -p 8080:8080 이미지명]

을 작성해줍니다.
ex)

 
제껀 이미지 명을 암호화해서 저런식으로 나오는겁니다.
브라우져에서 로컬 환경에서는 잘 실행된는걸 확인할수 있습니다.

 
그리고 나서 docker의 image파일을 hub에 업로드를 해줘야한다. 
즉 아래 그림에서 window에서 docker hub에 넣어줘야한다.

그렇다면 push를 해보자!
다시 도커 홈페이지에 들어가서 docker hub repository로 가자
https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container applications. Create your account Signing up for Docker is fast and free. Continue with GoogleContinue with GitHubContinue wi

hub.docker.com

로그인하면 레파지토리를 create 버튼을 클릭합니다.

 

여기서 
공개용, 비공개용 로 만들수 있는데 필자는 비공개로 했습니다.
주의) 이미지 명과 레파지토리명은 동일하게 해주세요.
 
그리고 나서 도커 데스크탑 으로 돌아오면 

이미지 탭-> ... 을 클릭하면 push to hub 이라는게 활성화 되어 있습니다. 
(이미지명이 같아야합니다.)
 
클릭하면 아래와 같이 hub에 업로드된걸 확인할수 있습니다.

 
 
다음엔 aws를 확인해봐야하는데요.
 
먼저 putty로 로그인한후 docker를 설치해야합니다.
그리고 처음에

sudo apt install apt-transport-https ca-certificates

 
설치가 완료되면 아래 명령어를 순서대로 해주면 도커가 설치가 완료가 된다.

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

 
도커 설치가 되었는지 확인을 위해 

sudo docker --version

 

버전을 확인할수 있습니다.
그리고 이제 

sudo docker login

도커를 로그인을 합니다.
id:
pw:
도커 홈페이지에 입력하신 아이디 pw 됩니다.
 
그리고 나서 

sudo docker images

 
하면 docker에는 이미지가 없을겁니다.
 
이때 hub에 있는걸 가져오면 

sudo docker pull 이미지명:버전

다시 

sudo docker images

 
이미지가 나옵니다.
이제 aws의 docker를 백그라운드로 실행합니다.
여기서 저는 도메인을 구입했기때문에 host와 동일하게 실행시켜야합니다.

sudo docker run --net=host -d -p 80:80 저장소/이미지명:버전

그리고 프로세스 확인

sudo docker ps

 
실행된걸 확인했고요.
사이트 접속도 확인합니다.
 
사이트 접속도 잘되었습니다.
결과:

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

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

 
 

+ Recent posts