본문 바로가기

728x90
반응형
SMALL

분류 전체보기

(110)
docker 컨테이너 종료안됌 (이미지삭제안됌) 도커 컨테이너를 분명 종료하고, docker ps 명령어로 확인해도 올라가 있는 게 없고, 이런 상황에도 이미지가 지워지지 않아서 당황한 적이 있었습니다.(저도그럼..ㅋ;) 그럴때는 docker ps -a 명령어를 쳐보세요. 그러면 docker ps 할때 뜨지않았던 여러 컨테이너들이 보일거에요. 이미지를 실행하면서 여러 필요한 연관된 컨테이너들이 같이 실행되어서 그런거에요. 간단하게 지워주면됩니다. 명령어 하나로요. docker rm "컨테이너명" 그러면 이제 정상적으로 삭제하고 싶으신 이미지를 지울 수 있게됩니다. 끝!
Docker 로 springboot 로 된 서버 배포해보기. 안녕하세요. 오늘은 도커를 이용해 springboot 서버를 배포 해보겠습니다. 우선 도커에 springboot 서버를 배포하기 위해서 springboot 서버를 간단하게 만들어 보겠습니다. [서버 개발] @RestController public class TestController { @GetMapping("/test") public String test(){ return "docker complete"; } } "docker complete" 이라는 문자열을 반환하는 기본적인 API 하나를 만들었습니다. [이미지 다운을 위한 설정] 이제 프로젝트 최상위 경로에 Dockerfile 이라는 파일을 만들어 줍니다. FROM amazoncorretto:17 ARG JAR_PATH=./build/libs AR..
Redis Backup1, Backup2, Backup3, Backup4 네 제목그대로 레디스 데이터안에 Backup1,Backup2.... 이상한 데이터가 들어 있다구요? 기존에 있던 캐시 데이터가 다 날라갔다구요? 누군가 레디스에 들어와, 정보를 다 날리고 이상한 데이터를 넣었나보네요 [원인] - redis 서버가 기본포트 6379로 열려있음. - 비밀번호 설정을 안해줌. 이런 두가지 이유가 되겠습니다. 크롤러봇들이 기본포트가 6379이고, 비밀번호 설정이 안되어있는 모든 것들을 탐색해서 모든 키를 지우고 위에와 같은 이상한 스크립트를 심는다고 합니다. 그래서 저희는 막아야합니다. 먼저 기본포트 6379를 안쓰는 포트로 변경해주는 방법은, 대체적으로 많이 알려져있는 포트이기때문에, 가급적이면 변경하지 않는 것이 좋다고 합니다. 그래서 비밀번호 설정을 해보도록 하겠습니다. ..
AWS EC2 접속이 느리거나, 혹은 접속이 안되는 경우. AWS EC2를 프리티어 버전 이용하시는 분들 중에서, EC2 접속이 느리다던가, 혹은 접속이 안되는 경우가 있을 거에요. AWS EC2 프리티어는 RAM이 1GB 밖에 안되서, 빌드 규모가 조금만 커져도 멈춰버려요.ㅋㅋ 그래서 완벽한 방법은 아니지만, 임시방편으로 해결할 수 있는 방법이 있습니다.(좋은 스펙의 서버를 구입하는 게 최선의 방법이긴함ㅋ) 앞서 설명했듯이. 프리티어는 RAM이 1GB로 매우 부족해서, 이 부족한 부분을 디스크의 일부를 대신 사용하도록 설정해줄 수 있습니다. 이거를 '메모리 스왑' 이라고 합니다. sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=2048 sudo mkswap /mnt/swapfile sudo swapon /mnt/swap..
@RequestBody 와 @ResponseBody 란? 안녕하세요. 오늘은 @RequestBody 와 @ResponseBody 에 대해 간단하게 알아보도록 하겠습니다. 이 두개의 어노테이션을 알기 전 기본적으로 HTTP 에 대해 알고계셔야 합니다. HTTP 에 대하여 간단하게 설명을 드리면 HTTP(Hypertext Transfer Protocol) 인터넷 통신에서 데이터를 주고 받기 위한 규칙을 정한 약속입니다. 데이터를 주고 받기 위해선, '이런 방식'으로 해야한다. 라는것을 약속한 게 HTTP 입니다. POST /userInfo Host: www.example.com Content-Type: applicationjson Content-Length: 35 { "userInfo": { "userName":"honggildong", "userNickname"..
JPA 와 Mybatis 같이 사용하기 안녕하세요. JPA 는 ORM 으로 단순 CRUD 처리에 대해 편리하게 해주는데요. 실무에서 정산 쿼리나, 복잡한 여러 조인이 필요한 쿼리들이 있을 때에는, JPA 보단 mybatis를 혼용해서 쓴다고 합니다. 그래서 지금 JPA 와 MyBatis 를 혼용하여 쓰고, 한 트랜잭션 안에 잘 묶여있는지 확인 테스트 까지 해보겠습니다. 데이터베이스는 h2 database 를 사용하겠습니다. (경량용 디비로 테스트 하기에 적합함.) h2사용법 H2 Database 란? 그리고 사용법? H2 Database 란? H2는 자바로 작성된 관계형 데이터베이스 관리 시스템이다. 장점 따로 설치가 필요없다 용량이 매우 가볍다 웹용 콘솔(쿼리툴) 제공하여 개발용 로컬DB로 사용 용이 특징 JAVA로 작성 yjkim-dev...
SpringBoot + WebSocket server 간단하게 구현해보기 스프링부트에서 웹소켓 서버 세팅을 하여 실시간으로 메세지를 주고받을 수 있는 서버를 만들어 보겠습니다. 정말 간단합니다. 먼저 의존성을 주입해줍시다. [Gradle] implementation 'org.springframework.boot:spring-boot-starter-websocket' [Maven] org.springframework.boot spring-boot-starter-websocket 그다음에는 websocket에 대한 전반적인 설정을 해줘야 합니다. 어떤 요청에 대한 어떤 응답을 할것인지에 대한 정의를 결정합니다. @Configuration @EnableWebSocket @RequiredArgsConstructor public class WebSocketConfig implement..
springboot 에서 mongodb 접속하기(비밀번호설정되있을경우) mongoDB를 써보고싶어서 비밀번호 설정도 안하고 막무가내로 Springboot 설정에 mongodb를 연동하였다. '와 이렇게 쉽다고??' 라고 생각하고 시간이 지나고 지나고 지나고..... 어떤 이상한 사람이 내 mongodb에 들어와 데이터를 싹다 지우고 BTC(비트코인)을 달랜다.... 그럼 데이터 복구해주겠다나머라나... 어차피 더미데이터 뿐이여서 큰일은 아니였지만, 비밀번호 설정을 따로 해야겠다는 생각이 들었다. mongoDB 비밀번호 설정하는 법 # vi /etc/mongod.conf // 인증 disabled 처리 security: authorization: enabled # authorization: disabled # keyfilekeyFile: /etc/mongodb_key # se..

728x90
반응형
LIST