Infra/Docker

Docker - EC2 인스턴스 생성해서 SSH에 AWS 연결하기(2)

중대경 2022. 12. 28. 20:24

이번 시간은, 저번시간에 이어서 새로만든 AWS 서버안에 Docker를 명령어로 이용해 설치할 예정이다.

 

지금은 ubuntu라는 버전에서 Docker를 설치하는 과정을 담았으니, 혹시나 도커에 대해 더욱 공부를 하고 싶다면

이 부분에서 들어가 참고하길 바란다.

https://docs.docker.com/engine/install/debian/

 

Install Docker Engine on Debian

 

docs.docker.com

 

 

 

본론으로 들어가보면, ubuntu@ip-172-31-15-6에 해당하는 코드를 입력해야 docker login이 가능하다.

위를 참고한 홈페이지에 자세한 설명이 되어있으니 참고해도 좋을것같다. 과정도 같이 보여주면 좋을것 같아 있는 그대로 코드를 올려보았다 !!

 

 

 

그러고 난 후

docker --version 코드를 입력하여 docker가 정상적으로 깔렸는지 확인을 하는 과정이 필요하다.

그러고 난 후 docker login 을 입력하여 실행한다. 만약 실행이 되지 않을 시

sudo chmod 666 /var/run/docker.sock

이 부분을 입력해 준 뒤, 다시 생성을 하여야한다. 이 에러는 말그대로 허가가 접근되지 않는다라는 의미이므로 다른 사용자도 가능하게끔

권한을 승낙해준다는 코드의 의미이다.  첫 시간의 환경설정하는 부분에서 chmod400의 부분도 그렇고 보안에 민감하기 때문에

초기에 주의를 하여 만들어주는 것이 좋다. 

 

 

로그인이 성공된 것을 확인할 수 있다.

.

.

.

.

 

 

그 다음 DockerHub 사이트로 접속을 한다. 계정에 로그인을 한 뒤,

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

 

 

배포하고자 하는 프로젝트를 우선은 dockerHub라는 곳에 저장할 공간을 생성해주는 작업이다.

Create repository를 클릭해 원하는 프로젝트명 과 이름을 설정하여 만들수 있도록 한다.

 

repository까지 모두 만들었다면 이제 docker hub에 push를 해야하기 때문에 !

현재 배포하고자 하는 프로젝트에 들어가서 아래와 같은 작업을 하면 된다.

 

 

인텔리제이 터미널 작업환경


 

1) 클린 빌드

./gradlew clean build

 

 

2) Dockerfile 프로젝트 하단안에 만들어주기

 

 

필자는 *jar 환경에 프로젝트를 만들기 때문에 war가 아닌 jar로 실행을 한다.

 

3) docker build 

docker build --build-arg DEPENDENCY=build/dependency -t [User ID]/[Project Name] --platform linux/amd64 .

 

 

 

4) docker push (도커 허브에 Push하기 위한 과정) -> 여기는 내가 작업하고 있는 인텔리제이 버전 터미널 화면이다.

 

위와 같이 push 성공

 


 

 

ssh/docker 작업환경화면


 

도커허브에서 도커로 가져오려면 -> pull - (도커가 깔려있는 환경에 pull 하는 방법)

코드참조

docker pull goldcollar95/crudrepo

 

 

ssh에서 docker ps 를 입력하면 내가 등록한 이미지를 조회할수 있다

 

pull 해온 프로젝트를 image화 시키려면 아래와 같이하면 정상적으로 내 프로젝트를 가져올수 있는 것을 확인할수 있다.

 

다음 시간에는 docker안에서 mysql을 images화 시켜서 Amazon Server DB를 생성해보려 한다.

 

https://middlemoon.tistory.com/65

 

Docker,MySql - EC2 인스턴스 생성해서 SSH에 AWS 연결하기(3)

이번 시간은 Mysql 데이터베이스를 Docker 환경 내에 만들어 AWS서버내에 Mysql을 연동시키는 작업까지 해보려고 한다. 1)docker pull mysql - docker 안에 있는 Mysql을 사용할 수 있는 확장자 개념의 파일을

middlemoon.tistory.com