MariaDB är en kostnadsfri databasserver som ger dataåtkomst med hjälp av ett strukturerat frågespråk (SQL). Den erbjuder säkerhetsfunktioner som lösenord, rollbaserad åtkomstkontroll och mycket mer för att skydda dina data.

För att kunna distribuera MariaDB och ge dataåtkomst till dina användare så måste du vara host för databasservern. Du kan välja en molnleverantör eller använda hanterade eller delade hosting-tjänster.

I den här artikeln så lär du dig hur du kör MariaDB med hjälp av en Docker-container, hur du konfigurerar och kör databasservern och ansluter den till en WordPress-webbplats.

Vad är Docker?

Docker är ett kostnadsfritt utvecklarverktyg som gör det möjligt att köra program i en kontrollerad miljö som kallas container. Containers har programkod, beroenden och viktiga systemverktyg för att köra din applikation. Detta gör att du kan leverera robusta applikationer under programvaruutvecklingens fullständiga livscykel.

Containrar använder vanligtvis ditt operativsystem som host. Detta innebär att host-maskinens kärna ger tillgång till resurser som processorer, minne och filsystem. Det krävs därför ingen traditionell virtualisering som virtuella maskiner. Det finns flera fördelar med att använda Docker för att köra en MariaDB-instans:

  • Den avger ett litet digitalt fotavtryck, vilket garanterar en effektiv användning av systemresurser.
  • Den är konsekvent, vilket gör att utvecklare kan köra appar i produktion och testinstallationer med minimala ändringar.
  • Den erbjuder en flexibel mekanism för resursdelning.
  • Den är skalbar – du kan köra många containers på en enda host.

Så här distribuerar du MariaDB med Docker

I det här avsnittet så kommer du att skapa containeriserade miljöer för att köra MariaDB med hjälp av Docker. Du lär dig mer om den containerteknik som Docker erbjuder. Docker fungerar på de flesta versionerna av Windows, macOS och Linuxdistributioner. För den här handledningen så behöver du Windows 10/11, Ubuntu 20.04 eller en macOS X-maskin.

1. Installera Docker

En av Dockers bästa egenskaper är dess portabilitet. Den använder hostens operativsystem, vilket gör den idealisk för test- och publiceringsmiljöer. I det här avsnittet så lär du dig hur du installerar Docker på de tre operativsystemen.

Ubuntu 20.04

Uppdatera först Ubuntus paketlista.

sudo apt-get update

Tillåt sedan åtkomst till online-förråd via HTTPS.

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

Installerar Docker via terminalen.
Lägg sedan till Dockers GPG-nyckel.

sudo mkdir -p /etc/apt/keyrings

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

Lägg nu till Dockers arkiv.

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

Uppdatera sedan Ubuntus paket för att inkludera Dockers arkiv.

sudo apt-get update

Slutligen så installerar du Docker Engine.

sudo apt-get install docker-ce

Om du använder en annan Linuxdistribution som Debian eller Fedora så följer du den officiella dokumentationen för Installation av Docker i Linux.

Windows 10/11

Docker finns tillgängligt på Windows 10 eller 11 med Windows undersystem för Linux version 2 (WSL 2) som backend. Använd följande steg för att installera Docker.

Aktivera först funktionen Plattform för virtuell maskin på ditt Windows-system. Detta gör att du kan installera WSL 2 och installera och köra en virtualiserad Linuxinstans på din Windows-maskin.

Därefter installerar du WSL.

Besök sedan Microsoft Store för att ladda ner Ubuntu 20.04.

Slutligen så laddar du ner Docker Desktop för Windows. Öppna den nedladdade filen för att starta installationsprocessen.

Efter installationen så söker du efter ”Docker Desktop” i aktivitetsfältet och öppnar denna.

(Observera: Du måste använda PowerShell som terminal för att kunna använda Docker-kommandon.)

macOS X

Docker finns tillgängligt på macOS-maskiner via Apple App Store. Det finns två tillgängliga installationsprogram som riktar sig till både Intel- och Apple-chip.

Ladda först ner det lämpliga installationsprogrammet från en av länkarna ovan. Dubbelklicka sedan för att öppna den nedladdade .dmg-filen.

Dra och släpp sedan Docker-ikonen till mappen Applikationer.

Öppna nu Docker-appen från Applikationsmappen och följ anvisningarna för att slutföra konfigurationen.

När installationsprocessen är klar så dubbelklickar du på Docker-ikonen i statusfältet på skrivbordet för att öppna den.

Använd standardterminalen för att köra Docker-kommandon.

2. Ladda ner en MariaDB-avbildning

En Docker-avbildning innehåller en samling kommandon och konfigurationer för att skapa en Docker-container. Den ansvarar för att installera allt som behövs för att köra en applikation. Du kan hitta den officiella MariaDB-avbildningen hos Docker Hub.

För att ladda ner MariaDB-avbildningen från Docker Hub så måste du använda kommandot docker pull:

docker pull mariadb

Du kan även visa en lista över nedladdade Docker-avbildningar genom att köra följande:

docker images

Det här är kommandots utdata:

Listar Docker-avbildningar.
Listar Docker-avbildningar.

3. Skapa en container

En container är en mjukvaruenhet med all kod, alla beroenden och alla systemverktyg som krävs för att köra en process eller en applikation. Du kommer att använda avbildningen som du hämtade tidigare för att skapa en MariaDB-container.

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

Detta skapar en MariaDB-container som heter mariadb-wp. Flaggan –i möjliggör en interaktiv session och alternativet –t skapar en pseudoterminal. I den officiella dokumentationen finns information om alla tillgängliga variabler.

4. Kör, pausa och stoppa containern

Docker ger utvecklare flexibiliteten av konfigurerbara miljöer. I det här avsnittet så kommer vi att konfigurera MariaDB:s container med miljövariabler för att ställa in specifika systemegenskaper för din container.

MariaDB har många variabler som du kan ställa in, exempelvis databasnamn, lösenord och databasanvändare. En bredare lista över miljövariabler som stöds finns i Docker’s dokumentation för MariaDB.

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

Kommandot ovan konfigurerar MariaDB:s rotlösenord, databasanvändare och tillhörande lösenord. MariaDB körs därefter på port 3306. Du kan bestämma dig för att pausa en containers applikation från att köras med följande kommando:

docker pause mariadb-wp

Slutligen så kan du även stoppa en applikation som körs i en container med följande kommando:

docker stop mariadb-wp

5. Anslut den containeranpassade MariaDB till en WordPress-webbplats

Nu måste vi ansluta MariaDB till en extern WordPress-webbplats. Du kan läsa mer om hur du skapar en WordPress-webbplats lokalt här.

I rotkatalogen för WordPress-webbplatsen så öppnar du filen wp-config.php i din kodredigerare. Leta upp kodavsnittet som definierar variablerna för databasen och redigera enligt nedan. Se till att du använder databasens namn, lösenord och portnummer när du skapar MariaDB-containern.

define('DB_NAME', 'wordpress');

define('DB_USER', 'wordpress’);

define('DB_PASSWORD', '');

define('DB_HOST', 'http://localhost:3306’);

Därefter så måste du importera en databasdump av din WordPress-webbplats till den containeriserade MariaDB. Se först till att du har exporterat den aktuella databasen för webbplatsen. Om du vill veta mer så kan du läsa vår handledning om säkerhetskopiering av MySQL-databaser.

När du har exporterat din databas så installerar du databasdumpen i containern.

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

Med kommandot docker exec så kan utvecklare köra skalkommandon i containern. I kommandot ovan så importerade vi en databas till MariaDB med hjälp av en exporterad fil.

6. Lägg till ett nytt inlägg på din WordPress-webbplats

Vi kommer att skapa ett exempelinlägg med hjälp av WordPress administratörskonto för att testa den här integreringen.

Du loggar först in på WordPress och klickar på Inlägg > Lägg till nytt. Fyll i uppgifterna enligt nedan och klicka sedan på Publicera. När du har skapat inlägget så klickar du på Visa inlägg för att visa det nytillagda inlägget.

Lägg till ett nytt inlägg i WordPress-redigeraren.
Lägg till ett nytt inlägg i WordPress-redigeraren.

Och det är allt som krävs!

7. MariaDB och Docker med DevKinsta

Kinsta’s kostnadsfria applikation DevKinsta gör det möjligt för utvecklare att skapa containeriserade WordPress-webbplatser på ett effektivt sätt. Appen använder Docker för att konfigurera PHP-versioner, databasservrar och webbservrar. DevKinsta-appen stöder utvecklare som använder macOS, Windows och Ubuntu/Linux.

För att komma igång så laddar du ner, installerar och startar DevKinsta på din lokala maskin. Appen ger dig tre alternativ: skapa en ny WordPress-webbplats, importera en befintlig webbplats från Kinsta eller skapa en anpassad webbplats.

DevKinsta's nya skärm för att skapa en ny webbplats.
DevKinsta’s nya skärm för att skapa en ny webbplats.

Att skapa en ny WordPress-webbplats är lika enkelt som att fylla i ett enkelt formulär och klicka på Skapa webbplats.

DevKinsta's nya skärm för att skapa en WordPress-webbplats.
DevKinsta’s nya skärm för att skapa en WordPress-webbplats.

Grattis – du har nu skapat en containeriserad WordPress-webbplats med hjälp av DevKinsta!

Sammanfattning

Docker är ett utvecklarvänligt verktyg för containerisering av applikationer som kör databasservrar som exempelvis MariaDB. Dess minimalistiska miljöer bidrar till att upprätthålla systemresursernas effektivitet utan att offra funktionalitet.

Den här handledningen lärde dig hur du installerar Docker, konfigurerar MariaDB och ansluter en WordPress-webbplats till din containeriserade MariaDB-databas. Du lärde dig dessutom hur du använder DevKinsta för att skapa en helt containeriserad WordPress-webbplats.

Det finns mycket mer att utforska när det gäller skapandet av WordPress-webbplatser och dess många  hosting-lösningar. Om du vill upptäcka hur enkel din webbplatshantering kan vara, så kan Kinsta’s hanterade WordPress-hosting hjälpa dig.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.