Kuinka ottaa WordPress käyttöön Docker-kontteissa
Opi käyttämään WordPress-asennusta Docker-kontteissa sekä manuaalisesti että Docker Compose -työkalun avulla. WordPress-kehittäjille on hyödyllistä käyttää WordPressiä Docker-kontteissa. Dockerin avulla on helppo testata erilaisia WordPress-kokoonpanoja ja käynnistää uusi WordPress-asennus vain muutamalla yksinkertaisella komennolla.
Vaatimukset
Jotta WordPress toimisi sujuvasti Docker-kontteissa, tarvitset ajantasaisen ja tuetun Linux-jakelun. Vanhemmat versiot, kuten CentOS 7 tai Ubuntu 14.04, ovat vanhentuneita, ja ne tulisi korvata nykyaikaisilla vaihtoehdoilla. Suositeltavia vaihtoehtoja ovat:
- Ubuntu 22.04 LTS tai uudempi
- Debian 12 tai uudempi
- Red Hat Enterprise Linuxin (RHEL) tai AlmaLinuxin uusin versio
Docker on myös asennettava ja oltava käyttövalmis. Jotta voit hyötyä uusimmista tietoturva- ja suorituskykyparannuksista , tarvitset vähintään Docker -version 20.10. Jos haluat käyttää Docker Composea, varmista, että käytät vähintään versiota 2.x, sillä vanhempia versioita ei enää ylläpidetä aktiivisesti.
Perustiedot komentorivikäytöstä sekä Docker Compose- ja Docker -ohjelmistojen hallinta ovat hyödyllisiä. Jos suunnittelet laajempaa tai skaalautuvaa ratkaisua, kannattaa tutustua Kubernetesiin ammattitason konttien hallintaan.
Kuinka käyttää WordPressiä Docker-kontteissa
Onnistunut WordPress-asennus koostuu kolmesta osasta:
- WordPress-ohjelmisto
- MySQL- tai MariaDB-tietokanta
- Lopulliset asennusvaiheet suoritetaan selaimessa
Seuraavissa esimerkeissä WordPress ja MySQL/MariaDB toimivat erillisissä, toisiinsa liitetyissä kontteissa. WordPress-ohjelmistoa ajava kontti liitetään isäntäkoneen porttiin, jotta voit käyttää sitä selaimella.
MySQL/MariaDB-kontin käyttö
Kun Docker on käynnissä, ensimmäinen vaihe on tietokannan määrittäminen. Aloita käynnistämällä kontti nimeltä my-db. Voit käyttää joko MySQL:ää tai MariaDB:tä, joka on suora korvike MySQL:lle.
MySQL
Käynnistä kontti seuraavalla komennolla:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latestMariaDB
Käynnistä kontti seuraavalla komennolla:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mariadb:latestTietokannan luominen
Kun olet luonut kontin, sinun on luotava tietokanta WordPress-asennuksellesi.
MySQL
Yhdistä juuri luotuun tietokantakonttiin seuraavalla komennolla:
docker exec -it my-db mysql -u root -pLuo tietokanta:
CREATE Database wordpress-db;MariaDB
Yhdistä juuri luotuun tietokantakonttiin seuraavalla komennolla:
docker exec -it my-db mariadb -u root -pLuo tietokanta:
CREATE Database wordpress-db;WordPress-kontin käyttäminen
Seuraavaksi käynnistä kontti käyttämällä virallista WordPress-kuvaa. Se liitetään isäntäkoneen porttiin 8080 ja yhdistetään tietokantakonttiin.
Kaksi huomautusta:
- Jos käytössäsi on palomuuri, sinun on ehkä sallittava pääsy porttiin 8080.
- Jos portissa 8080 on jo käynnissä toinen palvelu, voit valita isäntäkoneelta toisen portin.
Komento vaihtelee hieman sen mukaan, käytätkö MySQL:ää vai MariaDB:tä:
MySQL
Käynnistä WordPress-kontti seuraavalla komennolla:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mysql -d wordpress:latestMariaDB
Käynnistä WordPress-kontti seuraavalla komennolla:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mariadb -d wordpress:latestTähän komentoon voi lisätä monia muita ympäristömuuttujia, jos haluat ohittaa oletusasetukset, kuten:
-e WORDPRESS_DB_HOST=[hostname]: Oletusarvo on linkitetyn MySQL/MariaDB-kontin IP-osoite ja portti. Tämän muuttujan avulla voit muodostaa yhteyden toisella palvelimella olevaan MySQL/MariaDB-tietokantaan.-e WORDPRESS_DB_USER=[username]: Oletusarvo onroot.-e WORDPRESS_DB_PASSWORD=[password]: Oletusarvo on linkitetyn MySQL/MariaDB-kontinMYSQL_ROOT_PASSWORD-ympäristömuuttuja.-e WORDPRESS_DB_NAME=[name]: Oletusarvo on"wordpress".
Turvallisuuden parantamiseksi voi olla suositeltavaa olla käyttämättä kontteja oletusarvoisessa bridge-verkossa. Sen sijaan voit luoda mukautetun verkon:
docker network create my-wp-network
docker run --name my-db --network my-wp-network -e MYSQL_ROOT_PASSWORD=SECURE_PASSWORD -d mysql:latest
docker run --name my-wordpress --network my-wp-network -p 8080:80 -d wordpress:latestTässä ympäristössä konttisi ovat paremmin eristettyjä muista, mikä vähentää ei-toivottujen yhteyksien riskiä. Voit myös määrittää verkkosäännöt tarkemmin, esimerkiksi käyttämällä mukautettuja palomuuriasetuksia tai ottamalla käyttöön käänteisen välityspalvelimen.
Kuinka asennus saatetaan loppuun selaimessa
Asennuksen viimeisissä vaiheissa sinun on avattava WordPress-kontti selaimella.
Yllä olevassa esimerkissä olemme määrittäneet isäntäkoneen portin 8080 vastaamaan kontin porttia 80 (verkkopalvelut). Tämä tarkoittaa, että voit nyt käyttää konttia selaimella joko palvelimen IP-osoitteen tai verkkotunnuksen kautta:
http://<server-ip>:8080http://example.com:8080
Avaa URL-osoite selaimessasi, valitse asennuskieli ja napsauta Jatka.

Seuraavalla näytöllä näkyy viesti, joka valmistaa sinut asennuksen seuraavaan vaiheeseen. Jatka napsauttamalla Let’s go! -painiketta.

Syötä nyt tietokantatiedot, jotta tiedosto wp-config.php voidaan luoda:

Huomaa, että oletuskäyttäjä on ”root”, ellei toisin mainita. Kirjoita luomasi tietokannan nimi ja valitsemasi salasana. Kun napsautat ”Lähetä”, ohjelma opastaa sinut asennuksen seuraaviin vaiheisiin.

- Sivuston otsikko: Kirjoita verkkosivustosi otsikko.
- Käyttäjätunnus: Tämä on verkkosivustosi pääkäyttäjän käyttäjätunnus. Vinkki: Turvallisuussyistä suosittelemme, ettet käytä tunnusta ”Admin” tai verkkotunnustasi/URL-osoitettasi.
- Salasana: Muista kirjoittaa tämä muistiin ennen kuin jatkat.
- Sähköpostiosoitteesi: Tämä on järjestelmänvalvojan tiliin liitetty sähköpostiosoite.
Napsauta sitten Asenna WordPress -painiketta asennuksen loppuun saattamiseksi.

Kun asennus on valmis, näet vahvistusviestin ja voit kirjautua WordPressiin.
Kuinka käyttää WordPressiä Docker Composen avulla
Docker Compose on toinen tapa käyttää WordPressiä. Asennus- ja käyttöohjeet löydät artikkelistamme, joka käsittelee Docker-orkestrointia Swarm- ja Compose-työkalujen avulla. Käytännössä tämän työkalun avulla voit määritellä kaikki tarvittavat palvelut yhteen tiedostoon ja käynnistää ne yhtä aikaa.
YAML-tiedoston luominen
Luo ensin kansio projektillesi ja siirry siihen:
sudo mkdir wordpress
cd wordpressLuo YAML-tiedosto nimeltä docker-compose.yml seuraavalla komennolla:
sudo nano docker-compose.ymlTiedoston sisältö vaihtelee hieman sen mukaan, käytätkö MySQL:ää vai MariaDB:tä:
MySQL
Lisää tiedostoon seuraava sisältö:
wordpress:
image: wordpress:latest
links:
- wordpress_db:mysql
ports:
- 8080:80
wordpress_db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: SECURE_PASSWORDTallenna tiedosto ja sulje se.
MariaDB
Lisää tiedostoon seuraava sisältö:
wordpress:
image: wordpress:latest
links:
- wordpress_db:mariadb
ports:
- 8080:80
wordpress_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: SECURE_PASSWORDTallenna tiedosto ja sulje se.
Konttien käynnistäminen
Käynnistä seuraavaksi kontit Docker Compose -ohjelmalla seuraavalla komennolla:
sudo docker-compose up -dTarkista seuraavalla komennolla, onko kontit luotu:
sudo docker-compose psViimeistele asennus avaamalla WordPress-kontti selaimessa. Voit käyttää joko palvelimen IP-osoitetta tai sen URL-osoitetta:
http://192.168.0.1:8080http://example.com:8080
Kubernetes skaalautuviin WordPress-asennuksiin
Suuremmissa ja tuotantokäyttöön tarkoitetuissa ympäristöissä voidaan käyttää Kubernetesia (K8s). Kubernetesin avulla voit koordinoida ja hallita WordPress-kontteja automaattisesti useiden solmujen välillä. Kubernetes-klusterin käyttö tarjoaa useita etuja, kuten automaattisen skaalauksen, itsensä korjaavat mekanismit ja keskitetyn resurssienhallinnan. Yksi tapa toteuttaa tämä on Helm, Kubernetesin pakettienhallintaohjelma:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install my-wordpress bitnami/wordpress --set service.type=LoadBalancerTämä mahdollistaa erittäin luotettavan ja skaalautuvan WordPress-asennuksen, joka sisältää kuormituksen tasapainottamisen, automaattiset päivitykset ja vikasietoisuuden.