본문 바로가기

DevOps14

Dockerfile을 이용해 Docker image 생성해보자. 우리는 이번 게시글을 통해 임의의 애플리케이션을 Docker Container로 실행가능하도록 도커 이미지를 생성하는 것을 학습합니다. 검색해보니 도커라이징(Dockerizing)이라고도 하는 것 같은데, 공식적인 단어는 아닌 것 같습니다. 0. 도커 설치하기 당연히 선행되어 도커를 설치해야합니다. 아래의 링크에서 자신의 운영체제에 맞게 접근하여 다운로드/설치를 진행합니다. https://docs.docker.com/get-docker/ 1. 테스트할 웹앱 생성하기 가볍게 /hello-world 으로 접근하면 "Hello, World!" 를 반환하는 컨트롤러를 생성해줍니다. 2. Java Application build하기 먼저, 생성할 도커 이미지에서 사용될 Application Jar를 생성해야합니다.. 2023. 12. 4.
Mac / Windows SSH 클라이언트 추천 - Tabby 최근 회사에서 업무용 노트북을 Windows에서 맥북으로 변경하게 되었습니다. 개인적으로는 Windows가 레퍼런스도 많고, 관리 및 사용이 간편해서 더 선호하지만 iOS 앱 개발/빌드/테스트를 위해 MacOS가 필요했습니다. 또한, Windows에서는 빌드 속도가 느린 애플리케이션도 있어서 어쩔 수 없는 선택이었죠. 집에서도 Windows + Macbook을 함께 사용하고, 원래도 앱등이이기도 해서 별 문제가 없는 듯했지만 SSH 클라이언트가 가장 문제였습니다. 회사에서의 SSH 사용 패턴은 여러 개의 세션에 설정된 로그온 액션 등을 설정해 편리하게 사용했는데 맥에서는 마땅한 SSH 클라이언트가 없거나, 비용이 많이 드는 유료 앱이거나 하는 문제였죠. 반 포기 상태로 이전에 사용하던 Windows 노트.. 2023. 6. 20.
HTTP 응답에서 NGINX의 버전 정보를 숨겨보자 왜 NGINX 정보를 숨겨야 할까? 웹서버의 정보와 버전이 명시되어 있다면 당연히 그 버전에 맞는 취약점을 찾아 공격을 시도할 것입니다. 이에 우리는 최소한 웹서버의 버전 정보라도 숨겨야 합니다. 취약점을 최대한 감추기 위해서요! 1. NGINX 버전 정보 숨기기 가장 먼저 설치된 엔진엑스의 버전 정보를 숨기려 합니다. 엔진엑스뿐 아니라 대개의 웹서버는 설정값 하나를 넣어주면 되는 일이기 때문에 간단합니다. http 블록 안에 server_tokens 옵션(default ON)을 off 설정해 주면 끝입니다. vi /etc/nginx/nginx.conf ... http { server_tokensoff; ... .. } 2. 설정 확인하기 재기동 후 설정이 적용됐는지 확인합니다. systemctl res.. 2023. 5. 13.
NGINX의 설정에 대해 쉽게 알아보자. 지난 포스트에서는 NGINX를 설치해 보았습니다. 이제 우리는 이 웹서버를 적절히 사용하기 위해 설정에 대해 알아보고자 합니다. 0. 들어가기에 앞서서 Apache, NGINX 등 모든 웹서버는 아마 설정에 따라 성능이 천차만별일 것입니다. 이에 어느 설정이 있는지, 그 설정이 어떠한 역할을 하는지에 대해 아는 것이 중요합니다. 이에 이번 포스트는 NGINX가 제공하는 기본 설정에 대해 쉽게 알아보겠습니다. 1. nginx.conf NGINX의 기본 설정 파일입니다. [user@server /]# cat /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/.. 2023. 5. 10.
웹서버 중 NGINX를 설치해보자! 본 포스트는 CentOS 7.9 버전을 기준으로 작성하였습니다. 0. Apache와 NGINX 실무에서 아파치 서버를 사용하다 보니 저도 개인적으로 자연스럽게 아파치를 사용하였습니다. 관성에 의해 사용하게 되었는데 한편으론 생각했습니다. 왜 요즘은 NIGNX(엔진엑스)를 주로 사용할까? 무슨 차이가 있을까? 막연하게 그냥 사람들이 많이 쓰니까 더 좋은 성능인가 보다. 하고 넘어갔으나, 불현듯 그럼 한번 써보자! 생각이 들어 설치해보고자 합니다. 1. NGINX yum Repository 추가하기 /etc/yum.repos.d 디렉토리 안에 nginx.repo 파일을 생성하고, 레파지토리 정보를 작성 후 저장합니다. vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx .. 2023. 5. 10.
Docker의 Root Directory 위치를 변경해보자. 개발 중인 서버에 접근해보니 루트 디렉토리가 91% 사용 중이었습니다. (이미 조치해버려서 사진은 예시이다.) 우리 회사는 KT 공공 클라우드를 사용 중에 있는데, 루트 디렉토리를 고작 17GB 밖에 안줍니다. 어쨌든, 도커의 루트 디렉토리 증설은 불가피했습니다. 01. 루트 디렉토리 설정 확인하기 docker info | grep Root 명령어로 Docker Root Dir이 /var/lib/docker임을 확인했습니다. [root@abcd merged]# docker info | grep Root WARNING: bridge-nf-call-ip6tables is disabled WARNING: Running Swarm in a two-manager configuration. This configur.. 2023. 4. 24.