이전글
위 글에서는 컨테이너 매니저를 이용하여 도커에 미디어위키를 수작업으로 설치하는 방법을 적었습니다. 설정이 복잡하고 역방향 프락시 때문에 제어판으로 이동해야 하는 불편함이 있었습니다. 게다가 파일 접근이 막혀서 커스터마이징이나 백업이 어려웠습니다.
이번에는 웹스테이션에서 도커 서비스를 설치해 봅니다. 패키지 센터에서 설치하면 하나의 서비스만 설치할 수 있습니다. 아래 설명대로 하면 같은 서비스를 여러 개 설치할 수 있습니다.
웹 스테이션
DSM에서 Web Station을 실행합니다.
웹 서비스에서 필요한 서비스들을 미리 만들어도 되며, 위와 같이 웹 포털에서 연결까지 한 번에 작업할 수 있습니다.
웹 포털 - 생성 버튼 - 웹 서비스 포털을 눌러줍니다.
서비스 항목에서 새 웹 서비스 만들기를 선택합니다.
컨테이너화된 스크립트 언어 웹사이트에서 설치할 서비스와 버전을 선택합니다. 패키지 센터의 버전은 갱신이 되지 않았지만, 여기서는 최신 버전을 선택할 수 있습니다.
서비스 이름은 구분하기 쉬운 별명을 입력합니다. 설치를 완료하면 컨테이너 매니저의 프로젝트에 등록됩니다.
문서 루트는 설치할 경로입니다. /docker/ 또는 /web/ 등의 원하는 경로에 설치하면 됩니다. 컨테이너 매니저에서 설치했을 때에는 마운트를 했지만 권한이 없는 파일을 볼 수 없었습니다.
HTTP 백엔드 서버는 Nginx를 선택했습니다. 아파치를 사용하는 도커 이미지보다 위키 페이지 반응 속도가 매우 빠릅니다.😍
웹스테이션에서 설치하면 아래처럼 모든 파일이 동기화되어 접근할 수 있습니다.
설치 완료
컨테이너 매니저의 프로젝트에 설치 중 설정한 이름이 등록되었습니다. 이 프로젝트에는 3개의 컨테이너가 자동 설치됩니다.
도커 프로젝트는 리소스 사용량을 한 번에 볼 수 있습니다. 차트는 항목별로 보여줍니다.
웹스테이션에서 설치되는 서비스는 YAML 코드로 자동 설치되는 것입니다. 프로젝트 세부 사항을 보면 YAML 코드를 볼 수 있습니다.
네트워크
이전에 DB를 관리하려고 phpmyadmin을 설치했는데 미디어위키 프로젝트는 새 네트워크 그룹에 할당되었습니다.
미디어위키 전용 DB가 아닌 이전에 설치한 mariaDB 컨테이너에 연결해봅니다.
위와 같이 DB, PMA가 있는 네트워크와 묶으면 추가로 설치한 DB에 접속할 수 있습니다. (_default 네트워크는 웹 접근용입니다)
네트워크를 묶기 싫으면 서브넷마스크 /16을 /8로 변경해도 되지만, 172.17.1 처럼 C클래스를 변경하는 것이 좋습니다.
LocalSettings.php 에서 DB 호스트 주소를 다음과 같이 mariaDB 컨테이너의 IP 주소를 입력합니다.
$wgDBserver = "172.17.0.2";
컨테이너 주소는 도커 작업 중 변경될 수 있습니다.