본문 바로가기

반응형

docker

(5)
[spring cloud] hystrix 도입하면서 alpine linux에서 jvm error 발생 저번에 t아카데미에서 MSA에 관한 세미나에 참석하고 이번에 클라우드 네이티브 자바라는 책을 접하면서(완독은 못하고 일부 읽었다.)퍼블릭 클라우드 서비스를 사용하고 컨테이너 기술을 사용하고 있다면 내가 공부한 내용을 실천해야겠다고 생각했다. OOP의 단일책임원칙처럼 애플리케이션이 가급적 하나의 목적(하나의 도메인이라고 표현해야할지도 모르겠다...)을 가지고 기능하도록 서비스 컴포넌트로 분리하고자 했다. 스토리지를 서비스 컴포넌트마다 하나씩 두고 각 서비스 컴포넌트가 단일 인터페이스로 통신하는 형식으로 바꿔야 겠다는 생각을 했다.사용자 로그를 현재 하나의 컨텐츠를 조회할 때만 기록하는데 사용자가 검색할 때 무엇을 검색했는지 기록에 남기는 요구사항이 있었다. Firestore를 저장소로 사용하고 로직을 작성..
[ssl] aws에 docker와 letsencrypt(certbot) 이용해서 ssl 인증 적용하기 1. ssl를 적용할 수 밖에 없던 과정 수개월째 백수로 지내면서 개인프로젝트를 하고 있다. 개인프로젝트에 ssl을 도입할 수 밖에 없는 이유가 두가지 있었다. 첫째, JWT 기반의 로그인을 하고 있다. JWT는 stateless라는 장점이 있어서 애플리케이션을 확장할 떄 좋지만 보안에 있어서 취약하다. 왜냐하면 사용자 정보가 일부분 들어갈 수도 있고 단순히 해쉬 알고리즘만 안다면 정보를 알 수 있기 때문이다. 그래서 ssl 인증은 필수다. 두번째, 페이스북 로그인 때문이다. 페이스북 로그인을 도입했는데 개발단계에서 localhost를 사용하는 것은 허용되지만 사용에서 https를 사용하지 않는 도메인은 허용하지 않는다. 2. 사전 조사 ssl은 전 회사에서 aws에서 제공해주는 ssl을 이용해서 도입했..
[aws lightsail] AWS 라이트세일에 도커 이용해서 운영 서버 구성 최근 디자이너와 클라이언트 개발자 분들과 협업할 수 있는 기회가 두번 있었다.그때마다 heroku라는 PaaS 서비스(aws의 elastic beanstalk와 비슷한 무료 서비스)의 Free Plan을 사용했었다.그런데 헤로쿠의 문제점이 네가지 정도 있었다.1) 서버의 위치가 미국에 있어서 한국에서 사용하면 성능이 느리다. (데모로 보여주면 눈치 보임..) 2) 30분 동안 서버에 네트워크의 요청이 없을 경우 서버가 멈춘다.(이떄 스케줄링으로 20분에 한번정도 요청을 보내주면 해결되기 한다.)3) 무료로 사용할 시 데이터베이스 연동의 어려움(기본으로 제공해주는 RDB의 용량이 5MB였다.)4) 도커를 써먹을 수 없다. 이건 부차적인 문제이긴하지만 공부한 걸 써먹을 수 있어야... 그래서 평소에 좋다고 ..
[docker] 도커 컨테이너 사이의 네트워킹 도커를 이용해 스프링 부트로 구현한 was를 배포해봤다.이제 배포한 백엔드 로직을 도커 컨테이너를 이용해 띄워놓은 MariaDB와 Redis와 상호작용할 수 있도록 서로 연결해야한다.내가 사용할 수 있는 선택지는 세가지 있었다. 1) 도커 컨테이너의 열어놓은 포트와 ip주소를 이용해 연결한다.기존에 이용하고 있던 방법 개발하는 중에는 컨테이너의 열어놓은 포트와 ip주소를 입력해서 개발하였다.application.yml에 datasource url에 192.xx.xxx.xx:3306 이런 식으로 입력해서 db에 접근했었다. 배포 환경에서도 동일하게 적용할 수 있지만 고정된 ip값을 사용한다는 것에서 기각했다. 2)link 옵션을 사용한다.기존에 가장 많이 사용하던 link 옵션이 있다. docker run..
[docker & spring boot] jar file을 docker container를 이용해서 배포 개인 프로젝트를 약 두달간 하고 있는데 처음 시작할 때 부터 배포가 스트레스였다.docker와 aws를 이용해서 배포를 해야하는데. aws는 경험이 있지만 docker는 경험이 별로 없었고 자료도 별로 없다고 생각해서(찾아보니깐 많음) 스트레스였다.동아리에서 프로젝트를 하면서도 heroku로 때워서 항상 속도가 느린 이슈가 있었는데.2주전에 예비군갈 떄 부터 꺠작깨작 공부하기 시작해서 오늘 간단한 배포를 하게 되어서 글을 올린다. 1. DockerFile 이용해서 image로 만들기 우선 배포한 애플리케이션을 빌드해서 jar 파일을 임의의 폴더로 옮겨줍니다. DockerFile도 같이 생성해줍니다. 그리고 DockerFIle을 작성 FROM openjdk:8-jdk-alpineVOLUME /tmpEXPO..

반응형