본문 바로가기

728x90
반응형
SMALL

전체 글

(113)
docker hub에 내 이미지 업로드 하기 안녕하세요. 오늘은 docker hub에 내 이미지를 업로드 해볼게요. 엄청 간단합니다. docker hub에 올릴때는 계정/이름 형식으로 태그를 지정해줘야 올릴 수 있습니다. 현재 이미지명이 계정/이름 형식이 아니라구요? 괜찮습니다. docker build -t newy12/backend 이렇게 새로 이미지를 빌드해주면 돼요. 이제 도커 헙에 올려볼게요. docker push newy12/backend 만 해주면 끝이에요. 위에 명령어를 입력해주면 먼가 막 push 하고있네요. ㅋㅋ 정상적으로 올라 간게 보일거에요 . 끝
docker compose 로 springboot + react + mysql(mariadb) 3tier 컨테이너 연동 및 실행하기 안녕하세요. 도커 컴포즈에 대해 이해하기에 가장 좋은 예시인 3tier 로 컨테이너를 개별적으로 띄운 뒤 연동을 해볼게요. [3tier Info] Front : react Backend : springboot database : mysql(mariadb) docker-3-tier 폴더 안에 아래 해당하는 폴더를 만들어 줄게요. 1. docker-compose.yml 2. frontend 3. backend 4. mariadb 폴더 이름처럼 frontend 에는 프론트쪽 소스코드를 backend 에는 서버쪽 소스코드를 mariadb 에는 db 관련 데이터를 관리해줄게요. 먼저 backend 에 member 테이블에 있는 모든 데이터를 반환해주는 api 를 만들어 줄게요. @RestController @Re..
how to solve ERROR [internal] load metadata for docker.io/libaray/~~ 도커 이미지를 다운받다가 에러 메세지 발견 하였다. 그대로 해석하면 amazoncorretto:17 이미지를 불러올수가 없다고 한다. 도커 라이브러리에 해당 이미지가 없어서 나는 오류다. amazoncorretto:17 이미지를 다운받아야 한다 docker pull amazoncorretto:17 위 명령어로 간단히 해결 가능하다. 또한 도커는 항상 ROOT로 실행 되기 때문에 아래 명령어를 통해 권한을 주면 정상 해결 된다. sudo chown -R $(id -u):$(id -g) $HOME/.docker 끝!
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"..

728x90
반응형
LIST