docker (4) 썸네일형 리스트형 Development/기타 MacOS(M1, M2) Docker를 활용한 팔월드(PalWorld) 서버 구축 방법 들어가며 지난 글에 이어 MacOS(M2)에서 Docker로 PalWorld 서버를 구축하는 내용을 정리해보았다. M1, M2 MacOS 뿐만 아니라 ARM Linux도 적용 가능할 것이라 생각한다. 만약, 본인의 Mac이 Intel Chip인 경우 본 글을 볼 필요가 없다. 누군가 벌써 Docker Hub에 Image를 올려놓았고, 해당 이미지를 그대로 활용하였다. DockerHub - nitrog0d/palworld-arm64 1. 사전 준비 Docker로 서버를 실행할 것이기에 당연히 Docker가 설치되어 있어야한다. 아래 링크에서 Docker Desktop for Mac with Apple silicon 버튼을 클릭하여 Docker Desktop을 설치한다. 팔월드의 최소 사양은 아래와 같으며,.. Development/기타 MySQL 8.0 Replication (1) - Docker를 활용한 DBMS 서버 구축 들어가며 현재 회사에서는 Replication을 사용하지 않고, 단일 커넥션 풀로 관리하고 있다. 그러다보니, 동시 많은 요청이 들어오면(실제로 그리 많지도 않고, 약 100건 정도의 동시 요청이다) 데이터 조회 API 요청 시 응답 속도가 느려지는 이슈가 발생한다. 이를 해결하기 위해 DB 분산 처리에 대한 내용을 검색해 보던 중 MySQL Replication을 알게되었다. 이에 대해 공부하고 NestJS에 적용시켜 본 내용을 정리하여 작성하였다. 1. 개요 Replication은 복제를 의미하며, DBMS를 2대 이상으로 나누어 데이터를 저장하는 방식을 뜻한다. 이를 통해 실시간 Data 백업과 여러 대의 DB 분산 처리를 할 수 있다. 자세히 설명하기 전에 구조 먼저 알아보자. 1.1. 기본 구성.. Development/Web Docker 이미지 만드는 방법과 DockerFile 기초 내용 들어가며 지난번 내용(Docker 포트포워딩과 드라이브 연결)에 이어서 이번에는 도커 이미지를 만들고, 이를 commit, pull 하는 내용에 대해서 정리하였다. image의 순환 과정 자세한 내용을 살펴보기 전에 먼저 이전에 다룬 내용을 떠올려보자. 아래는 도커 이미지의 순환 과정을 도식화한 그림이다. 그림을 보면, docker hub를 통해 이미지를 다운로드(pull)받고, 이는 각각의 컨테이너에서 실행(run)된다. 각각의 컨테이너는 다시 또 다른 이미지로 재탄생(commit)할 수 있으며, 자신이 재탄생시킨 이미지를 docker hub에 업로드(push)하여 공유할 수 있다. 예를 들어, 서로 다른 ubuntu 컨테이너에 각각 Node.js, Python가 설치된 이미지를 생성하는 과정은 아래 .. Development/Web Docker 포트포워딩과 드라이브 연결 들어가며 이번에는 도커 컨테이너의 네트워크와 드라이브를 설정하는 방법에 대해서 정리해보았다. 이 글을 이해하려면 웹 서비스의 전체적인 동작 원리, 포트포워딩 등의 사전 지식이 필요하다. 본 개발일지에는 사전 지식에 필요한 내용도 일부 정리해놓았으나, 이해가 되지 않는다면 관련 영상이나 글을 통해 학습하길 바란다. Port Forwarding 일반적인 웹 서버가 동작하는 방식은 아래 그림과 같이 나타낼 수 있다. 위 그림을 설명하자면, 클라이언트가 test.com:80/index.html을 요청하면 서버 PC에 설치된 Apache에 지정된 파일 경로에서 index.html을 찾아 클라이언트에게 보내주는 것이다. 반면, 도커 컨테이너로 동작하는 웹 서버도 위의 그림과 유사하긴 하나, 호스트와 컨테이너 간 포.. 이전 1 다음