홈서버 구축중에 아키텍처(?) 부분 질문입니다.
남아도는 PC로 처음 홈서버 구축을 도커로 하다가 이렇게 도커를 띄우는게 맞는가 싶어서 글 올립니다.
일단 nextcloud와 mariadb를 가진 docker-compose.yml이 있는데 제가 wordpress db도 mariadb로 사용을 하고자한다면 nextcloud와 연결중에 있는 mariadb를 끌어다가 쓰는것이 맞는지 아니면 새롭게 wordpress용 mariadb 컨테이너를 생성해야하는지 궁금합니다.
wordpress용 mariadb 컨테이너를 새롭게 생성했을 때 벌써 3306포트가 사용중이여서 에러가 뜨는데 혹시 이 부분 관련해서도 해결 방법이 있을까요??
구글링하면 나올거같은데 지금 2주째 구글에서도 답을 못찾아서ㅠㅠ 아니면 홈서버 구축 전에 읽어보면 좋은 글이라도 알려주시면 해당 글 참고하겠습니다.
감사합니다
저는 기존 마리아 컨테이너에 워드프레스 데이터베이스를 추가해서 사용 중입니다
저는 컨테이너 만듭니다.
컨테이너를 사용하시면 이게 편하죠.
별도로 컴포즈를 만들지 않는다면
db 지울때 컨테이너 지우면 넥스트 클라우드도 같이 날라가요.
또 넥스트 클라우드랑 워드프레스를 별도로 켜고 끄지도 못하구요
컨셉에 맞게 제대로 쓴다면 위의 콜라님 말씀처럼 쓰는 것이 좋습니다.
공간 낭비가 있습니다만, 그래야 도커의 기본 개념인 컨테이너의 완벽한 격리가 가능해지는거죠.
오죽하면 "편리함을 돈으로 산다"라는 표현이 있을 정도입니다.
컨테이너의 완벽한 격리는 이후 운영 및 유지보수에서 장점이 많습니다. 이전하기도 쉽고요.
포트의 충돌 문제는 도커에서 매우 흔히 겪는 문제입니다. 특히 mariaDB, mysql 같이 3306 포트가 고정되어 있는 놈들의 포트 할당이 문제가 되는데... 사실 이것도 별 문제는 아닙니다. 포트 설정 할 때 보면 "외부포트:컨테이너 내부포트" 이렇게 할당하는데, 외부포트만 다르게 쓰면 됩니다. 컨테이너 내부포트는 컨테이너별로 완벽한 격리가 되므로 A컨테이너의 3306과 B컨테이너의 3306은 완전히 다르게 취급되어 충돌을 일으키지 않습니다. 그러므로 3306:3306, 3307:3306, 3308:3306 이렇게 외부포트만 다르게 사용해서 컨테이너를 만들면 됩니다.
엄청 초보적인 질문이였는데도 자세한 댓글 감사합니다 ㅠ
일단 콜라님 말씀대로 컨셉에 맞게끔 쓸 생각으로 구축했는데 db포트를 무식하게 외부로 표출시켜놔서 3306 동일포트 에러가 떨어진거같네요 ㅎㅎ
다시 구축해보고 돌아올게요 감사합니다~~
cmt alert