분류 전체보기(19)
-
도커를 활용한 몽고 DB 설치하기 #2 (Robomongo)
DB 작업 시 CLI 형식으로 작업하는 경우도 있지만 GUI 형식으로 가능하다면 무조건 GUI 형식의 툴을 사용하는 편이다. 일단 보기 편하기 때문에, 개발 속도 및 트러블 슈팅, 모든 면에서 확연하게 속도 차이가 있기 때문에 애용하는 편인데, Mysql, MariaDB와 같은 RDBMS 사용해봤다면, HeidiSql을 써봤을 것이다. MongoDB에도 동일한 툴들이 존재하고, 그 중에서 Robomongo 라는 툴이 가장 깔끔해보여 설치해보려고 한다. 해당 URL을 통해 먼저 다운로드를 한다. https://robomongo.org/ Robo 3T | Free, open-source MongoDB GUI (formerly Robomongo) Read by Dmitry Schetnikovich robomo..
2022.06.27 -
도커를 활용한 몽고 DB 설치하기 #1
대용량 데이터 처리를 위해 Mongo DB를 설치해보려고 한다. 도커를 사용하다보니, 개발 PC(Window)에 설치하여 세팅하는 것보다 도커를 이용하여 설치하는 게 좀 더 컴팩트하고 쉽다. 아래와 같이 커맨드를 입력한다. 태그를 입력하지 않으면 가장 최신 버전을 설치한다. 글쓴이의 경우 별도로 원하는 버전이 없으므로 그냥 설치 Docker Mongo 다운로드 docker pull mongo:[버전] docker pull mongo Using default tag: latest latest: Pulling from library/mongo d7bfe07ed847: Pull complete 97ef66a8492a: Pull complete 20cec14c8f9e: Pull complete 38c3018eb..
2022.06.27 -
도커를 활용한 서비스 배포하기 (Dockerfile) #8
현재까지는 Docker Hub에서 제공하는 이미지를 pull하여 사용하였는데 누군가를 통해 완성된 이미지를 가져오는 것은 간편하고 유용한 기능들이 포함되어 있지만 직접 배포 및 운영을 해야하는 개발자의 경우 불필요한 프로세스는 제거해야 하고, 배포 용량에 대한 고민도 충분히 필요하다. 지속적인 개발로 인해 컨테이너는 용량이 늘어나게 되고 어디서 문제가 발생했는지 확인하기가 힘들어지는데, 직접 이미지 설정이 어떻게 되어있는지 알고 개선 할 점을 찾기 위해서는 Dockerfile을 직접 작성해보는 게 도움이 될거라고 생각하고 이후 다루게 될 이미지 경량화의 이해를 위해서 정리를 하게 되었다. Dockerfile? Dockerfile은 Docker Image를 생성하기 위한 설정 파일이다. Dockerfile..
2022.06.27 -
도커를 활용한 서비스 배포하기 (이미지 경량화) #9
컨데이너를 계속 업데이트하고 의존성 도구를 추가적으로 설치를 하다보니 용량이 어느새 1.02gb를 넘어서게 되었다. 사실 이렇다할 만큼 무언가를 많이 설치 안했는데도 왜 이리 용량을 많이 차지하는지 모르겠다. 물론 OS 자체를 이미지화 한다는 것 자체가 용량이 적게 사용 될 것 같진 않다. 그렇다면 이대로 사용해야 할 것인가.. 그건 아니다. 블로깅을 다시 해보니 현재 여러가지 방법이 존재하는 것으로 보인다. 이미지 경량화를 위한 방법을 리스트업해보면 아래와 같다. 1. 경량화 이미지 사용 2. Use builder pattern 3. Use multi-stage builds 경량화 이미지 사용 기본적인 베이스 용량이 작은 Alpine 이미지를 사용하는 것입니다. Alpine 이미지는 작고, 보안이 뛰어..
2022.06.24 -
도커를 활용한 서비스 배포하기 (볼륨 및 바인딩 마운트) #7
도커를 활용하여 컨테이너를 이미지화하여 손쉽게 컨테이너를 배포하여 실 서버에 적용 할 수 있게 되었다 그런데 실 서버 적용 시 해당 컨테이너에서 사용 중인 이미지, 엑셀파일 등의 첨부파일들은 컨테이너가 교체 됨에 따라 기존에 사용자들이 올려놓은 정보가 사라지게 된다. DB와 같이 파일 시스템도 별도로 공간을 만들어서 보관해야 할 필요성이 느껴졌다. 해당 구조를 운영 서버에 적용했다가, 컨테이너를 교체했다고 생각해보자. 담당자는 바로 개발자를 호출 할 것이다. " 제가 홈페이지에 올려놓은 아주 중요한 파일이 사라졌는데요? " 이후의 일은 상상에 맡기겠다. 그런 일은 존재해선 안되므로 여러가지 방안을 찾아보았다. Docker에서는 이러한 상황에 이미 대처 할 수 있는 시스템을 확보해두었는데. 아래는 Dock..
2022.06.20 -
도커를 활용한 서비스 배포하기 (port, ssh, network 설정) #6
모든 과정을 진행했다면 Container 1, 2, 3, 4 를 생성 할 수 있을 것이다. 글쓴이의 경우 위와 같이 설정하였고 특정 버전이 필요하기 때문에 php 72, mysql 5.5.62 로 작업을 할 예정이다. mysql의 경우 docker에서 제공하는 버전별 이미지가 존재하니 그대로 사용하면 된다. 아직까진 큰 이슈가 없다. 정리 중
2022.06.19