docker 16

Flutter + Node.js로 만든 실서비스 아키텍처 공개 (Exotiction)

프로젝트 개요Flutter (프론트엔드) + Node.js Express (백엔드) + MySQL (DB)Android / iOS / Web 동시 지원 멀티플랫폼 앱파충류·양서류·절지류 사육자를 위한 사육 관리 플랫폼폴더 구조 — Feature-Firstlib/├── core/ # 앱 전반 공통 모듈│ ├── api/ # HTTP 클라이언트, 엔드포인트 상수│ ├── navigation/ # 라우팅│ ├── theme/ # 색상, 스타일 토큰│ ├── platform/ # 플랫폼 분기 코드 격리│ └── utils/ # 공통 유틸└── features/ # 기능 ..

IT/잡다구리 2026.06.17

개인 앱 서버를 운영하며 적용한 인프라·보안 셋업 정리

Flutter + Node.js 기반 앱 엑소틱션을 직접 운영하면서 적용한 인프라/보안 설정들을 정리해본다.단순히 만들어놓고 땡이 아니라 , 꾸준한 유지보수를 진행중이고, 찾아보다가 좋은거 있으면 적용시키기도하고실시간 모니터링 하면서 로그 이상하게 찍히는것들 관련하여 알아보고 막으면서 하나씩 차근차근 알아가고 있다.1. Docker Compose 단일 파일로 4개 컨테이너 구성 [Nginx] , [Node Express API] , [Dozzle], [Mysql]- 모든 포트는 a.a.a.a 로만 바인딩해서, 외부에서 컨테이너 포트에 직접 접근하는 것 자체를 차단2. Nginx 설정2-1 실제 클라이언트 IP 복원리버스 프록시 뒤에서는 $remote_addr 이 프록시 IP 로 찍히기 때문에 set_..

IT/잡다구리 2026.06.12

Next.js와 Laravel 크로스 도메인 SSO 구현하기

환경1. SSO 인증서버 (81) : Next.js , 구글 로그인 구현 완료, HTTPS2. 외부 사이트 (83) : Laravel, PHP , 로그인 기능 없음, HTTP공통사항각 다른서버고 각 Docker에 잘 띄워져있는 상태요약 : 로그인 기능 없는 라라벨 프로젝트를, Next.js 찍먹 하고와서 로그인 구현 되게 하고싶었음1.전체 아키텍처외부 사이트(83) → SSO 인증 서버(81) → Google 로그인 → Ticket 발급 → 외부 사이트로 리다이렉트1. 83 에 접속하면 묻고 따지지도 말고 무조건 81 로 redirect 시켜줌 ( * redirect 시킬때 callbackurl=83 url 를 포함)2. 81 서버에서 로그인 성공적으로 완료 하는순간, 어? callbackurl 외부 ..

IT/잡다구리 2026.01.26

Postman에서는 400, curl에서는 정상 | 로컬 Docker POST 요청 삽질기

1. 테스트 배경로컬 Docker 환경에서 Next.js API(Route Handler) 를 사용해외부에서 호출 가능한 POST API를 개발 중에 있었고 다음과 같은 특징을 지님Next.js App Router 기반 (route.ts)POST 요청에서 JSON body 수신API Key 인증Slack Webhook 처리 로직Docker Compose로 로컬 환경 구성그런데 이상한 문제가 발생했다.2. 문제 상황 요약❌ Postman에서 호출 시같은 URL같은 JSON payload같은 Header (Content-Type: application/json)body(raw data)가 있으면 무조건 400 Bad Request - 이미지 1 첨부body 없이 POST 하면 정상 응답 - 이미지 2 첨부(..

IT/잡다구리 2026.01.21

[Docker] docker error failed to solve: archive/tar: unknown file mode ?rwxr-xr-x , load build context

docker-compose up 도중 지속적인 에러메시지 발생#9 [app internal] load build context #9 transferring context: 122.84MB 3.2s done #9 ERROR: archive/tar: unknown file mode ?rwxr-xr-x ------  > [app internal] load build context: ------ failed to solve: archive/tar: unknown file mode ?rwxr-xr-x archive/tar 는 쓰지도 않는데 뭔 소리래.. 하고 ai 한테 물어보니 tar 를 점검해보라며 어쩌고 저쩌고 도움안되는 말만 한다.이럴땐 직접 발품 팔아야지 ~다른 블로그 보니 node_modules 랑 pa..

IT/Docker 2025.01.08

[Linux] 도커 방화벽 관련 메모, 방화벽이 무시되는 docker 컨테이너 --iptables=false

환경은 Centos7 서버 방화벽 이것저것 싹다 막아놓았다. 해외 ip 차단 까지 ... 참고로 해외 ip 차단 되었는지 확인하는건 vpn 프로그램 깔아서 해당 국가로 전환해서 내꺼로 접속해보면 알수있다. vpn 프로그램은 TikVPN 추천 (기간제 무료) 여튼 해당 서버엔 컨테이너가 여러개 돌아가고있는데 그중에 mssql 컨테이너가 하나있는데 어느날 로그를 살펴보니 미친듯이 해외에서 접속시도를 하고있는게 보였다. (1초에 대략 50건씩 쌓였다.) 프로그램 돌리면서 , 미친듯이 이것저것 다 쑤셔보는듯 하다. 아래 스샷엔 sa 로만 되있지만 admin super 뭐시기 다양하게 로그에 찍혀있었다. 참고로 로그찍는건 아래와 같이 찍는걸 추천, N줄씩 실시간으로 찍어준다. docker logs --tail 1..

IT/잡다구리 2021.11.18

[Docker] docker-compose 이용한 mariadb + tomcat 서버 세팅 추가정리

기존에 돌아가고있는 톰캣 서버가 있는데 jar 파일도 여러개있고 이것저것 함수 쓰이는게 많아서 환경을 어떻게 구성해줘야하나 .. 고민하다가 결국 성공했는데 핵심은 jar 파일이었다. jar파일 그대로 옮겨주고 context.xml 에 DB 정보 수정해주고, 에러는 톰캣컨테이너 로그를 찍어보면서 해결했다. 뭐.. 말이 쉽지 맨땅에 헤딩하기가 좀 힘들긴했다 --; 기존에 Docker 환경에서 구성한 톰캣에서는 vi /etc/source 환경설정도 수정하고 jdk 파일도 옮겨서 하고 뭐 그랫었는데 이번에는 굳이 그렇게까진 안했고 기존 톰캣 도커이미지에서 기본으로 세팅되어있는 openJdk-11 을 이용하였다. 그리고 그땐 docker cp 하면서 노가다를 좀 많이 뛰었는데 그럴 필요없이 그냥 도커 마운트만 지..

IT/Docker 2021.07.14

[Linux] kdevtmpfsi 바이러스 feat.Docker

서버에 도커 깔아서 나도 이제 컨테이너로 굴리는구나 룰루랄라 하고있었는데 어느날 부장님께서 물으신다 kdevtmpfsi 라는 놈이 리눅스 서버 CPU 점유율 다 차지하고있다고 ... (실시간 모니터링은 nmon 으로 C, M, T 눌러서 보면된다) 어쩐지 아무탈없이 잘되나 싶었다 아 ~~~ 내 인생~ 부장님 말씀으로는 kdevtmpfsi 이라는 놈이랑 a.k.a 라는 놈이 프로세스 50프로씩 각각 잡아먹고 있있으며 a.k.a 는 kill 했을때 바로 사라졌고 kdevtmpfsi 은 계속 되살아났다고한다 아래 처럼 실행을 해서 관련된 모든걸 다 삭제했고 ps -aux | grep kinsing kill -9 pid(프로세스 ID) ps -aux | grep kdevtmpfsi kill -9 pid(프로세스..

IT/잡다구리 2021.04.23

[Docker] Linux + Docker + Django + PostgreSQL 세팅하기

환경 Linux, Centos7, Docker, Django, PostgreSQL / Window10, Putty, vscode,filezila 회사에 남아도는 테스트 서버에 장고 설치하고싶어서 여기저기 찾아보면서 야금야금 정리한다. 먼저 리눅스 서버에 장고프로젝트 폴더를 생성시켜주자 나는 var/www/html/django_test 라는 폴더를 만들어줬다. django_test 폴더 내부에다가 Dockerfile 을 만들어주자 Dockerfile FROM python:3 ENV PYTHONUNBUFFERED=1 WORKDIR /code COPY requirements.txt /code/ RUN pip install -r requirements.txt COPY . /code/ 같은 폴더내에 require..

IT/Docker 2021.04.08
300x250