데이터 포함: Docker로 MariaDB 실행

게시 됨: 2022-10-25

MariaDB는 구조화된 쿼리 언어(SQL)를 사용하여 데이터 액세스를 제공하는 무료 데이터베이스 서버입니다. 암호, 역할 기반 액세스 제어 등과 같은 보안 기능을 제공하여 데이터를 보호합니다.

MariaDB를 배포하고 사용자에게 데이터 액세스 권한을 부여하려면 데이터베이스 서버를 호스팅해야 합니다. 클라우드 공급자를 선택하거나 관리 또는 공유 호스팅 서비스를 사용할 수 있습니다.

이 기사에서는 Docker 컨테이너를 사용하여 MariaDB를 실행하고, 데이터베이스 서버를 구성 및 실행하고, WordPress 웹 사이트에 연결하는 방법을 설명합니다.

도커란?

Docker는 컨테이너라고 하는 제어된 환경에서 애플리케이션을 실행할 수 있게 해주는 무료 개발자 도구입니다. 컨테이너에는 앱 실행을 위한 애플리케이션 코드, 종속성 및 중요한 시스템 도구가 있습니다. 이를 통해 소프트웨어 개발 수명 주기 전반에 걸쳐 강력한 애플리케이션을 제공할 수 있습니다.

일반적으로 컨테이너는 운영 체제를 호스트로 사용합니다. 이는 호스트 시스템의 커널이 CPU, 메모리 및 파일 시스템과 같은 리소스에 대한 액세스를 제공함을 의미합니다. 결과적으로 가상 머신과 같은 기존 가상화가 필요하지 않습니다. Docker를 사용하여 MariaDB 인스턴스를 실행하면 다음과 같은 몇 가지 이점이 있습니다.

  • 디지털 풋프린트가 작아 시스템 리소스를 효율적으로 사용할 수 있습니다.
  • 일관성이 있어 개발자가 최소한의 변경으로 프로덕션 및 테스트 배포에서 앱을 실행할 수 있습니다.
  • 리소스 공유를 위한 유연한 메커니즘을 제공합니다.
  • 확장 가능합니다. 단일 호스트에서 많은 컨테이너를 실행할 수 있습니다.

Docker로 MariaDB를 배포하는 방법

이 섹션에서는 Docker를 사용하여 MariaDB를 실행하기 위한 컨테이너화된 환경을 생성합니다. Docker가 제공하는 컨테이너 기술에 대해 배우게 됩니다. Docker는 대부분의 Windows, macOS 및 Linux 배포 버전에서 작동합니다. 이 튜토리얼을 따르려면 Windows 10/11, Ubuntu 20.04 또는 macOS X 머신이 필요합니다.

1. 도커 설치

Docker의 가장 큰 특징 중 하나는 이식성입니다. 호스트의 운영 체제를 사용하므로 테스트 및 게시 환경에 이상적입니다. 이 섹션에서는 세 가지 운영 체제에 Docker를 설치하는 방법을 설명합니다.

우분투 20.04

먼저 Ubuntu의 패키지 목록을 업데이트합니다.

 sudo apt-get update

그런 다음 HTTPS를 통해 온라인 리포지토리에 대한 액세스를 허용합니다.

 sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

터미널을 통해 도커를 설치합니다.
다음으로 Docker의 GPG 키를 추가합니다.

 sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

이제 Docker의 저장소를 추가합니다.

 echo deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

그런 다음 Docker의 리포지토리를 포함하도록 Ubuntu의 패키지를 업데이트합니다.

 sudo apt-get update

마지막으로 Docker 엔진을 설치합니다.

 sudo apt-get install docker-ce

Debian 또는 Fedora와 같은 다른 Linux 배포를 사용하는 경우 Linux에 Docker 설치에 대한 공식 문서를 따르십시오.

윈도우 10/11

Docker는 Linux 버전 2(WSL 2)용 Windows 하위 시스템을 백엔드로 사용하는 Windows 10 또는 11에서 사용할 수 있습니다. 다음 단계를 사용하여 Docker를 설치합니다.

먼저 Windows 시스템에서 가상 머신 플랫폼 기능을 활성화합니다. 이를 통해 WSL 2를 설치하고 Windows 시스템에 가상화된 Linux 인스턴스를 설치 및 실행할 수 있습니다.

다음으로 WSL을 설치합니다.

그런 다음 Microsoft Store를 방문하여 Ubuntu 20.04를 다운로드합니다.

마지막으로 Windows용 Docker Desktop을 다운로드합니다. 다운로드한 파일을 열어 설치 프로세스를 시작하십시오.

설치 후 작업 표시줄에서 "Docker Desktop"을 검색하여 엽니다.

( 참고: Docker 명령을 사용하려면 PowerShell을 터미널로 사용해야 합니다.)

맥 OS X

Docker는 Apple App Store를 통해 macOS 컴퓨터에서 사용할 수 있습니다. Intel 및 Apple 칩을 모두 대상으로 하는 두 가지 설치 프로그램이 있습니다.

먼저 위의 링크 중 하나에서 적절한 설치 프로그램을 다운로드합니다. 그런 다음 두 번 클릭하여 다운로드한 .dmg 파일을 엽니다.

그런 다음 Docker 아이콘을 애플리케이션 폴더로 끌어다 놓습니다.

이제 Applications 폴더에서 Docker 앱을 열고 프롬프트에 따라 구성을 완료하십시오.

설치 프로세스가 완료되면 바탕 화면 상태 표시줄에서 Docker 아이콘을 두 번 클릭하여 엽니다.

기본 터미널을 사용하여 Docker 명령을 실행합니다.

2. MariaDB 이미지 다운로드

Docker 이미지는 Docker 컨테이너를 생성하기 위한 명령 및 구성 모음을 제공합니다. 애플리케이션을 실행하는 데 필요한 모든 것을 설치하는 역할을 합니다. Docker Hub에서 MariaDB 공식 이미지를 찾을 수 있습니다.

Docker Hub에서 MariaDB의 이미지를 다운로드하려면 docker pull 명령을 사용해야 합니다.

 docker pull mariadb

다음을 실행하여 다운로드한 Docker 이미지 목록을 볼 수도 있습니다.

 docker images

다음은 명령 출력입니다.

Docker 이미지 나열.
Docker 이미지 나열.

3. 컨테이너 생성

컨테이너는 프로세스 또는 프로그램을 실행하는 데 필요한 모든 코드, 종속성 및 시스템 도구가 있는 소프트웨어 단위입니다. 이전에 다운로드한 이미지를 사용하여 MariaDB 컨테이너를 생성합니다.

 docker create mariadb --name mariadb-wp -i –t

이것은 mariadb-wp 라는 MariaDB 컨테이너를 생성합니다. –i 플래그는 대화식 세션을 허용하고 –t 옵션은 의사 터미널을 만듭니다. 공식 문서는 사용 가능한 모든 변수에 대한 정보를 제공합니다.

4. 컨테이너 실행, 일시 중지 및 중지

Docker는 개발자에게 구성 가능한 환경의 유연성을 제공합니다. 이 섹션에서는 컨테이너에 대한 특정 시스템 속성을 설정하기 위해 환경 변수로 MariaDB의 컨테이너를 구성합니다.

MariaDB에는 데이터베이스 이름, 암호 및 데이터베이스 사용자와 같이 설정할 수 있는 많은 변수가 있습니다. 지원되는 환경 변수의 광범위한 목록은 MariaDB에 대한 Docker 설명서를 참조하십시오.

 docker run -d --name mariadb-wp -p 3306:3306 -v '/path/on/host/:/var/lib/mysql' -e "MARIADB_ROOT_PASSWORD=" -e "MARIADB_DATABASE=wordpress" -e "MARIADB_USER=wordpress" -e "MARIADB_PASSWORD=" mariadb

위의 명령은 MariaDB의 루트 암호, 데이터베이스 사용자 및 관련 암호를 구성합니다. 그런 다음 포트 3306에서 MariaDB를 실행합니다. 다음 명령을 사용하여 컨테이너의 애플리케이션 실행을 일시 중지하도록 결정할 수 있습니다.

 docker pause mariadb-wp

마지막으로 다음 명령을 사용하여 컨테이너 내에서 실행 중인 애플리케이션을 중지할 수도 있습니다.

 docker stop mariadb-wp

5. 컨테이너화된 MariaDB를 WordPress 사이트에 연결

이제 MariaDB를 외부 WordPress 웹 사이트에 연결해야 합니다. 여기에서 WordPress 웹 사이트를 로컬로 만드는 방법에 대해 자세히 알아볼 수 있습니다.

WordPress 웹 사이트의 루트 디렉터리에서 코드 편집기에서 wp-config.php 파일을 엽니다. 아래와 같이 데이터베이스에 대한 변수를 정의하는 코드 섹션을 찾아 편집합니다. MariaDB 컨테이너를 생성할 때 데이터베이스 이름, 암호 및 포트 번호를 사용해야 합니다.

 define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpress'); define('DB_PASSWORD', ''); define('DB_HOST', 'http://localhost:3306');

다음으로 WordPress 웹사이트의 데이터베이스 덤프를 컨테이너화된 MariaDB로 가져와야 합니다. 먼저 웹 사이트의 현재 데이터베이스를 내보냈는지 확인합니다. 자세한 내용은 MySQL 데이터베이스 백업 자습서를 확인하십시오.

데이터베이스를 내보낸 후 컨테이너 내부에 데이터베이스 덤프를 설치합니다.

 docker exec -i mariadb-wp sh -c 'exec mysql -u root -p "$MARIADB_ROOT_PASSWORD" < /some/path/on/your/host/all-databases.sql'

docker exec 명령을 사용하면 개발자가 컨테이너 내에서 셸 명령을 실행할 수 있습니다. 위 명령에서 내보낸 파일을 사용하여 데이터베이스를 MariaDB로 가져왔습니다.

6. WordPress 사이트에 새 게시물 추가

이 통합을 테스트하기 위해 WordPress 관리자 계정을 사용하여 샘플 게시물을 만들 것입니다.

먼저 WordPress에 로그인하고 게시물 > 새로 추가 를 클릭합니다. 아래와 같이 세부 정보를 입력한 다음 게시 를 클릭합니다. 게시물 작성 후 게시물 보기 를 클릭하시면 새로 추가된 게시물을 보실 수 있습니다.

WordPress Gutenberg 편집기에 새 게시물 추가.
WordPress 편집기에 새 게시물 추가.

그리고 그게 전부입니다!

7. DevKinsta를 사용한 MariaDB 및 Docker

Kinsta의 무료 애플리케이션인 DevKinsta를 사용하면 개발자가 컨테이너화된 WordPress 사이트를 효율적으로 만들 수 있습니다. 앱은 Docker를 사용하여 PHP 버전, 데이터베이스 서버 및 웹 서버를 구성합니다. DevKinsta 앱은 macOS, Windows 및 Ubuntu/Linux를 사용하는 개발자를 지원합니다.

시작하려면 로컬 컴퓨터에서 DevKinsta를 다운로드, 설치 및 실행하십시오. 이 앱은 세 가지 옵션을 제공합니다. 새 WordPress 사이트 만들기, Kinsta에서 기존 사이트 가져오기 또는 사용자 지정 사이트 만들기.

DevKinsta의 새로운 새 사이트 만들기 화면입니다.
DevKinsta의 새로운 새 사이트 만들기 화면입니다.

새 WordPress 사이트를 만드는 것은 간단한 양식을 작성하고 사이트 만들기 를 클릭하는 것만큼 쉽습니다.

DevKinsta의 새로운 WordPress 사이트 생성 화면.
DevKinsta의 새로운 WordPress 사이트 생성 화면.

축하합니다 — 이제 DevKinsta를 사용하여 컨테이너화된 WordPress 웹사이트를 만들었습니다!

요약

Docker는 MariaDB와 같은 데이터베이스 서버를 실행하는 소프트웨어를 컨테이너화하기 위한 개발자 친화적인 도구입니다. 최소한의 환경은 기능을 희생하지 않고 시스템 리소스의 효율성을 유지하는 데 도움이 됩니다.

이 자습서에서는 Docker를 설치하고, MariaDB를 설정하고, WordPress 사이트를 컨테이너화된 MariaDB 데이터베이스와 연결하는 방법을 배웠습니다. 또한 DevKinsta를 사용하여 완전히 컨테이너화된 WordPress 웹 사이트를 만드는 방법을 배웠습니다.

WordPress 사이트 생성 및 수많은 호스팅 솔루션을 통해 더 많은 것을 탐색할 수 있습니다. 사이트 관리가 얼마나 쉬운지 알고 싶다면 Kinsta의 관리형 WordPress 호스팅이 해결되었습니다.